home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / man / cat.1 / xv.1 < prev    next >
Text File  |  1995-07-25  |  175KB  |  3,631 lines

  1.  
  2.  
  3.  
  4.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.           xxxxvvvv - interactive image display for the X Window System
  10.  
  11.      SSSSYYYYNNNNTTTTAAAAXXXX
  12.           xxxxvvvv [_o_p_t_i_o_n_s] [_f_i_l_e_n_a_m_e [_f_i_l_e_n_a_m_e...]]
  13.  
  14.      NNNNOOOOTTTTEEEE
  15.           This man page is merely the text portion of the (PostScript)
  16.           _x_v docs, without the figures, and without the appendicies.
  17.           As such, it is highly recommended that you get your hands on
  18.           the *real* documentation.
  19.  
  20.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  21.           _x_v is an X11 program that displays images in the GIF, JPEG,
  22.           TIFF, PBM, PGM, PPM, X11 bitmap, Utah Raster Toolkit RLE,
  23.           PDS/VICAR, Sun Rasterfile, and PM formats on 1-, 2-, 4-, 6-,
  24.           8-, 16-, 24-, and 32-bit X displays.  _x_v will also read
  25.           _c_o_m_p_r_e_s_s-ed versions of these files.
  26.  
  27.  
  28.      SSSSEEEECCCCTTTTIIIIOOOONNNN 1111:::: OOOOVVVVEEEERRRRVVVVIIIIEEEEWWWW
  29.           _x_v version 2.10 lets you do a large number of things (many
  30.           of them actually useful), including, but not limited to, the
  31.           following:
  32.  
  33.           o+  display an image in a window on the screen
  34.  
  35.           o+  display an image on the root window, in a variety of
  36.              styles
  37.  
  38.           o+  grab any rectangular portion of the screen and turn it
  39.              into an image
  40.  
  41.           o+  arbitrarily stretch or compress the image
  42.  
  43.           o+  rotate the image in 90-degree steps
  44.  
  45.           o+  flip the image around the horizontal or vertical axes
  46.  
  47.           o+  crop a rectangular portion of the image
  48.  
  49.           o+  magnify any portion of the image by any amount, up to the
  50.              size of the screen
  51.  
  52.           o+  determine pixel values and x,y coordinates in the image
  53.  
  54.           o+  adjust image brightness and contrast with a gamma
  55.              correction function
  56.  
  57.           o+  apply different gamma functions to the Red, Green, and
  58.              Blue color components, to correct for non-linear color
  59.              response
  60.  
  61.  
  62.  
  63.      Page 1                                          (printed 3/16/94)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  71.  
  72.  
  73.  
  74.           o+  adjust global image saturation
  75.  
  76.           o+  perform global hue remapping
  77.  
  78.           o+  perform histogram equalization
  79.  
  80.           o+  edit an image's colormap
  81.  
  82.           o+  reduce the number of colors in an image
  83.  
  84.           o+  dither in color and b&w
  85.  
  86.           o+  smooth an image
  87.  
  88.           o+  crop off solid borders automatically
  89.  
  90.           o+  convert image formats
  91.  
  92.           o+  generate Encapsulated PostScript
  93.  
  94.           Unfortunately the _A_u_t_o_m_a_t_i_c _C_h_e_c_k_b_o_o_k _B_a_l_a_n_c_i_n_g _M_o_d_u_l_e still
  95.           isn't completely debugged, and is not included in this
  96.           distribution.
  97.  
  98.  
  99.      SSSSEEEECCCCTTTTIIIIOOOONNNN 2222:::: SSSSTTTTAAAARRRRTTTTIIIINNNNGGGG XXXXVVVV
  100.           Note: unless explicitly stated otherwise, the term _c_l_i_c_k
  101.           means "click with the _L_e_f_t mouse button."
  102.  
  103.           Start the program up by typing 'xv'.  After a short delay, a
  104.           window will appear with the default image (the _x_v logo,
  105.           credits and revision date) displayed in it.  If you change
  106.           the size of the window (using whatever method your window
  107.           manager provides), the image will be automatically stretched
  108.           to fit the window.
  109.  
  110.  
  111.         SSSSeeeeccccttttiiiioooonnnn 2222....1111:::: DDDDiiiissssppppllllaaaayyyyiiiinnnngggg PPPPiiiixxxxeeeellll VVVVaaaalllluuuueeeessss
  112.           Clicking (and optionally dragging) the _L_e_f_t mouse button
  113.           inside this window will display pixel information in the
  114.           following format:
  115.  
  116.                196, 137 = 191,121,209 (287 42 81 HSV)
  117.  
  118.           The first pair of numbers (196,137) are the x and y
  119.           positions of the cursor, in image coordinates.  These
  120.           numbers remain the same regardless of any image resizing, or
  121.           cropping.  For example, if you click on the eye of the fish
  122.           on the right side of the default image, you'll get
  123.           (approximately) 251,129 regardless of the size of the
  124.           displayed image.  This allows you to zoom in for precise
  125.           measurements.
  126.  
  127.  
  128.  
  129.      Page 2                                          (printed 3/16/94)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  137.  
  138.  
  139.  
  140.           The first triplet of numbers (191,121,209) are the RGB
  141.           values of the selected pixel.  The components will have
  142.           integer values in the range 0-255.  The values displayed are
  143.           prior to any HSV/RGB modification, but after any colormap
  144.           changes.  See "Section 5: The Color Editor" for details.
  145.  
  146.           The second triplet of numbers (287 42 81) are the HSV values
  147.           of the selected pixel.  The first component will have
  148.           integer values in the range 0-359, and the second and third
  149.           components will have integer values in the range 0-100.  The
  150.           values displayed are prior to any HSV/RGB modification, but
  151.           after any colormap changes.  See "Section 5: The Color
  152.           Editor" for details.  Also, see "Appendix D: RGB and HSV
  153.           Colorspaces" for more information about what these numbers
  154.           mean.
  155.  
  156.           Note: If you actually want to measure some pixels, it will
  157.           probably help to crop to a small region of your image, and
  158.           expand that region to the point where you can see the
  159.           individual pixels.
  160.  
  161.           This string is automatically copied to your X server's cut
  162.           buffer whenever you measure pixel values.  This lets you
  163.           easily feed this information to another program, useful if
  164.           you're doing manual feature extraction, or something.  Try
  165.           it: measure a pixel's value, and then go click your _M_i_d_d_l_e
  166.           mouse button in an _x_t_e_r_m window.
  167.  
  168.  
  169.         SSSSeeeeccccttttiiiioooonnnn 2222....2222:::: CCCCrrrrooooppppppppiiiinnnngggg
  170.           Bring up the _x_v _c_o_n_t_r_o_l_s window by typing the '?' key or
  171.           clicking the _R_i_g_h_t mouse button inside the image window.
  172.  
  173.           Clicking and dragging the _M_i_d_d_l_e button of the mouse inside
  174.           the image window will allow you to draw a cropping rectangle
  175.           on the image.  If you're unhappy with the one you've drawn,
  176.           simply click the _M_i_d_d_l_e button and draw another.  If you'd
  177.           like the rectangle to go away altogether, click the _M_i_d_d_l_e
  178.           button and release it without moving the mouse.
  179.  
  180.           You can determine how large the cropping rectangle is (in
  181.           image coordinates) by bringing up the _x_v _i_n_f_o window.  Do
  182.           this by clicking the IIIInnnnffffoooo button in the _x_v _c_o_n_t_r_o_l_s _w_i_n_d_o_w
  183.           or by typing the 'i' key into any open _x_v window.
  184.  
  185.           The _x_v _i_n_f_o _w_i_n_d_o_w will display, among other things, the
  186.           current size and position of the cropping rectangle in terms
  187.           of image coordinates.  For example, if it says:
  188.  
  189.                114x77 rectangle starting at 119,58
  190.  
  191.           that would mean that the current cropping rectangle is 114
  192.  
  193.  
  194.  
  195.      Page 3                                          (printed 3/16/94)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  203.  
  204.  
  205.  
  206.           image pixels wide, 77 image pixels high, and its top-left
  207.           corner is located 119 image pixels in from the left edge of
  208.           the image, and 58 image pixels in from the top edge.  These
  209.           values will be updated as you drag the cropping rectangle
  210.           around.
  211.  
  212.           If you want to set the size or position of the cropping
  213.           rectangle precisely, you can use the arrow keys on your
  214.           keyboard.  First, make the _x_v _i_n_f_o window visible as
  215.           described above (if it's not already visible).  Second, use
  216.           the mouse to draw a rough approximation of the cropping
  217.           rectangle that you want.  You can now use the arrow keys to
  218.           move the cropping rectangle around the image.  Once you've
  219.           gotten the top and left sides of the cropping rectangle
  220.           precisely where you want them, you can move the bottom-right
  221.           corner of the cropping rectangle (only) by holding the
  222.           <shift> key down while using the arrow keys.  Pressing the
  223.           up arrow will make the rectangle shorter, and pressing the
  224.           down arrow will make the rectangle taller.
  225.  
  226.           Once you have a cropping rectangle that you can live with,
  227.           you can proceed with the actual cropping operation.  Click
  228.           the CCCCrrrroooopppp button in the _x_v _c_o_n_t_r_o_l_s window, or type the 'c'
  229.           key in any open _x_v window.  The image window will shrink to
  230.           show only portions of the image that were inside the
  231.           cropping rectangle.
  232.  
  233.           Note: if you are running a window manager such as _m_w_m, which
  234.           decorates windows with a title bar, resizing regions, and
  235.           such, it is quite possible that the aspect ratio of the
  236.           cropped image will get screwed up.  This is because certain
  237.           window managers enforce a minimum window size.  If you try
  238.           to crop to a rectangle that is too small, the window manager
  239.           will create the smallest window it can, and the image will
  240.           be stretched to fit this window.  If this happens, you can
  241.           press the AAAAssssppppeeeecccctttt button in the _x_v _c_o_n_t_r_o_l_s window, or type
  242.           the 'a' key in any open _x_v window.  This will expand the
  243.           image so that it has the correct aspect ratio again.
  244.  
  245.           You can crop a cropped image by repeating the same steps
  246.           (drawing a new cropping rectangle and issuing the CCCCrrrroooopppp
  247.           command), ad infinitum.
  248.  
  249.           You can return to the original, uncropped image by using the
  250.           UUUUnnnnCCCCrrrroooopppp command.  Simply click the UUUUnnnnCCCCrrrroooopppp button or type the
  251.           'u' key in any open _x_v window.  Note that using the UUUUnnnnCCCCrrrroooopppp
  252.           command will turn off image smoothing (the SSSSmmmmooooooootttthhhh) command),
  253.           due to the potentially long time it can take to generate a
  254.           large, smoothed image.
  255.  
  256.           Note that if you try to make the cropping rectangle too
  257.           small in either width or height (under 5 screen pixels),
  258.  
  259.  
  260.  
  261.      Page 4                                          (printed 3/16/94)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  269.  
  270.  
  271.  
  272.           it'll just turn itself off.  If you want to crop a very
  273.           small portion of an image, you'll probably have to do it in
  274.           two passes.  First, crop to a small (but large enough to
  275.           still be enabled) rectangle, expand that region, then crop
  276.           again.
  277.  
  278.  
  279.         SSSSeeeeccccttttiiiioooonnnn 2222....3333:::: ZZZZoooooooommmmiiiinnnngggg
  280.           You can zoom in by a factor of two (or four, eight, etc.) on
  281.           any rectangular region of the image by holding down the
  282.           <ctrl> key on your keyboard and clicking the _L_e_f_t mouse
  283.           button in the image.  A rectangle will flash, centered
  284.           around the cursor position, and the region inside that
  285.           rectangle will be doubled in size.  The image window should
  286.           remain the same size, and in the same position.  You can
  287.           repeat this operation to zoom in by a factor of four, or
  288.           eight, or whatever, as many times as you wish.
  289.  
  290.           You can zoom out by a factor of two (if possible) by holding
  291.           down the <ctrl> key on your keyboard and clicking the _R_i_g_h_t
  292.           mouse button inside the image window.  You can not zoom out
  293.           beyond the point where the entire image fill the window.
  294.  
  295.  
  296.      SSSSEEEECCCCTTTTIIIIOOOONNNN 3333::::     TTTTHHHHEEEE CCCCOOOONNNNTTTTRRRROOOOLLLL WWWWIIIINNNNDDDDOOOOWWWW
  297.           The _x_v _c_o_n_t_r_o_l_s window is the central point of control for
  298.           the program, hence the name.  It provides controls to resize
  299.           the current image, flip and rotate it, load and save
  300.           different files, and bring up the other _x_v windows.  It can
  301.           be brought up by clicking the _R_i_g_h_t mouse button in the
  302.           image window, or by typing the '?' key inside any open _x_v
  303.           window.  Doing either of these things while the _x_v _c_o_n_t_r_o_l_s
  304.           window is visible will hide it.
  305.  
  306.           All of the following commands may be executed by either
  307.           clicking the appropriate command button, or typing the
  308.           keyboard equivalent (where given) into any open _x_v window.
  309.  
  310.  
  311.         SSSSeeeeccccttttiiiioooonnnn 3333....1111:::: RRRReeeessssiiiizzzziiiinnnngggg CCCCoooommmmmmmmaaaannnnddddssss
  312.           Note that none of the 'resizing' commands modify the image
  313.           in any way.  They only affect how the image is displayed.
  314.           The image remains at its original size.  This allows you to
  315.           arbitrarily stretch and compact the image without
  316.           compounding error caused by earlier resizing.  In each case,
  317.           the displayed image is recomputed from the original internal
  318.           image.
  319.  
  320.  
  321.           NNNNoooorrrrmmmmaaaallll  (Keyboard equivalent 'n')
  322.                Attempts to return the image to its normal size, where
  323.                one image pixel maps to one screen pixel.  For example,
  324.  
  325.  
  326.  
  327.      Page 5                                          (printed 3/16/94)
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  335.  
  336.  
  337.  
  338.                if the image (or the current cropped portion of the
  339.                image) has a size of 320x200, this command will attempt
  340.                to make the image window be 320 screen pixels wide by
  341.                200 screen pixels high.
  342.  
  343.                This command may fail in two cases.  If you're running
  344.                a window manager (such as _m_w_m) that enforces a minimum
  345.                window size, and the 'normal' size is too small, the
  346.                image may get distorted.  See the note in "Section 2.2:
  347.                Cropping" for more information.
  348.  
  349.                Also, if the image is larger than the size of your
  350.                screen, it will be 'halved' until it fits on the
  351.                screen.  For example, if you try to display a 1400x900
  352.                image on a 1280x1024 screen, the NNNNoooorrrrmmmmaaaallll command will
  353.                display a 700x450 image.
  354.  
  355.  
  356.           MMMMaaaaxxxx SSSSiiiizzzzeeee  (Keyboard equivalent 'm')
  357.                This command will make the displayed image be the same
  358.                size as the screen.  If you are running a window
  359.                manager that puts up a titlebar, you'll find that the
  360.                titlebar is now off the top of the screen.  To get the
  361.                titlebar back, simply shrink the image to anything
  362.                smaller than the size of the screen.  The window will
  363.                be moved so that the titlebar is once again visible.
  364.  
  365.  
  366.           MMMMaaaaxxxxppppeeeecccctttt  (Keyboard equivalent 'M')
  367.                Makes the image as large as possible, while preserving
  368.                the aspect ratio.  This avoids the generally unwanted
  369.                image distortion that MMMMaaaaxxxx SSSSiiiizzzzeeee is capable of
  370.                generating.  For example, if you have a 320x200 image,
  371.                and an 1280x1024 screen, doing the MMMMaaaaxxxxppppeeeecccctttt command will
  372.                result in an image that is 1280x800.  MMMMaaaaxxxx SSSSiiiizzzzeeee, on the
  373.                other hand, would've generated an image of size
  374.                1280x1024, which would be appear 'stretched'
  375.                vertically.
  376.  
  377.  
  378.           DDDDbbbbllll SSSSiiiizzzzeeee  (Keyboard equivalent '>')
  379.                Doubles the current size of the image, with the
  380.                constraint that neither axis is allowed to be larger
  381.                than the screen.  For example, given a 320x200 image
  382.                and a 1280x1024 screen, the image can be doubled once
  383.                (to 640x400), a second time (to 1280x800), but a third
  384.                time would make the image 1280x1024.  You'll note that
  385.                on the third time, the width didn't change at all,
  386.                since it was already at its maximum value.  Also note
  387.                that the height wasn't allowed to double (from 800 to
  388.                1600), but was truncated at its maximum value (1024).
  389.  
  390.  
  391.  
  392.  
  393.      Page 6                                          (printed 3/16/94)
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  401.  
  402.  
  403.  
  404.           HHHHaaaallllffff SSSSiiiizzzzeeee  (Keyboard equivalent '<')
  405.                Halves the current size of the image, with the
  406.                constraint that neither axis is allowed to have a size
  407.                less than 1 pixel.  Also, you may run into 'minimum
  408.                size' problems with your window manager.  See the note
  409.                in "Section 2.2: Cropping" for more information.
  410.  
  411.                Note that the window size is maintained as a pair of
  412.                integers.  As a result you may see some integer round-
  413.                off problems.  For example, if you halve a 265x185
  414.                image, you'll get a 132x92 image, which is just fine.
  415.                However, if you DDDDbbbbllll SSSSiiiizzzzeeee this image, you'll get a
  416.                264x184 image, not the 265x185 image you might have
  417.                expected.
  418.  
  419.  
  420.           ++++11110000%%%%  (Keyboard equivalent '.')
  421.                Increases the current size of the image by 10%, subject
  422.                to the constraint that the image cannot be made larger
  423.                than the screen size (in either axis).  For example,
  424.                issuing this command on a 320x200 image will result in
  425.                a 352x220 image.
  426.  
  427.  
  428.           ----11110000%%%%  (Keyboard equivalent ',')
  429.                Decreases the current size of the image by 10%.
  430.                Neither axis of the image is allowed to shrink below 1
  431.                pixel.  Also, you run the risk of running into 'minimum
  432.                window size' problems with your window manager.
  433.  
  434.                It should be noted that the ++++11110000%%%% and ----11110000%%%% commands have
  435.                no concept of an 'original size'.  They simply increase
  436.                or decrease the current image size by 10%.  As a
  437.                result, they do not undo each other.  For example, take
  438.                a 320x200 image.  Do a ++++11110000%%%% and the image will be
  439.                352x220.  If you issue the ----11110000%%%% command now, the image
  440.                will be made (352 - 35.2)x(220 - 22), or 316x198.
  441.  
  442.  
  443.           4444xxxx3333  (Keyboard equivalent '4')
  444.                Attempts to resize the image so that the ratio of width
  445.                to height is equal to 4 to 3.  (e.g., 320x240, 400x300,
  446.                etc.)  This is useful because many images were meant to
  447.                fill the screen of whatever system they were generated
  448.                on, and nearly all video tubes have an aspect ratio of
  449.                4:3.  This command will stretch the image so that
  450.                things will probably look right on your X display
  451.                (nearly all of which, thankfully, have square pixels).
  452.                This command is particularly useful for images which
  453.                have really bizarre sizes (such as the 600x200 images
  454.                presumably meant for CGA, and the 640x350 16-color EGA
  455.                images).
  456.  
  457.  
  458.  
  459.      Page 7                                          (printed 3/16/94)
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  467.  
  468.  
  469.  
  470.           AAAAssssppppeeeecccctttt  (Keyboard equivalent 'a')
  471.                Applies the 'default aspect ratio' to the image.  This
  472.                is done automatically when the image is first loaded.
  473.                Normally, the default aspect ratio is '1:1', but
  474.                certain GIF files may have an aspect ratio encoded in
  475.                them.  You can also set the default aspect ratio via a
  476.                command-line argument or an X resource.  See 'Section
  477.                9: Modifying XV Behavior' for more info.  The idea
  478.                behind this command is that you'd stretch the image
  479.                manually (via your window manager) to roughly the size
  480.                you'd like, and then use the Aspect command to fix up
  481.                the proportions.
  482.  
  483.                Normally AAAAssssppppeeeecccctttt expands one axis of the image to
  484.                correct the aspect ratio.  If this would result in an
  485.                image that is larger than the screen, the AAAAssssppppeeeecccctttt
  486.                command will instead shrink one of the axes to correct
  487.                the aspect ratio.
  488.  
  489.  
  490.         SSSSeeeeccccttttiiiioooonnnn 3333....2222:::: RRRRoooottttaaaatttteeee////FFFFlllliiiipppp CCCCoooommmmmmmmaaaannnnddddssss
  491.           TTTTuuuurrrrnnnn CCCCWWWW  (Keyboard equivalent 't')
  492.                Rotates the image 90 degrees clockwise.
  493.  
  494.  
  495.           TTTTuuuurrrrnnnn CCCCCCCCWWWW  (Keyboard equivalent 'T')
  496.                Rotates the image 90 degrees counter-clockwise.
  497.  
  498.  
  499.           FFFFlllliiiipppp HHHH  (Keyboard equivalent 'h')
  500.                Flips the image horizontally (around the vertical
  501.                center-line of the image).
  502.  
  503.  
  504.           FFFFlllliiiipppp VVVV  (Keyboard equivalent 'v')
  505.                Flips the image vertically (around the horizontal
  506.                center-line of the image).
  507.  
  508.  
  509.         SSSSeeeeccccttttiiiioooonnnn 3333....3333:::: SSSSmmmmooooooootttthhhhiiiinnnngggg CCCCoooommmmmmmmaaaannnnddddssss
  510.           RRRRaaaawwww  (Keyboard equivalent 'r')
  511.                Returns the displayed image to its 'raw' state (where
  512.                each pixel in the displayed image is as close as
  513.                possible to the corresponding pixel in the internal
  514.                image).  In short, it turns off any dithering or
  515.                smoothing.  When dithering or smoothing haven't been
  516.                done, this command is disabled.
  517.  
  518.  
  519.           DDDDiiiitttthhhheeeerrrr  (Keyboard equivalent 'd')
  520.                Regenerates the displayed image by dithering with the
  521.                available colors in an attempt to approximate the
  522.  
  523.  
  524.  
  525.      Page 8                                          (printed 3/16/94)
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  533.  
  534.  
  535.  
  536.                original image.  This is only relevant if the color
  537.                allocation code failed to get all the colors it wanted.
  538.                If it did get all the desired colors, the DDDDiiiitttthhhheeeerrrr
  539.                command will just generate the same display image as
  540.                the RRRRaaaawwww command.  On the other hand, if you didn't get
  541.                all the desired colors, the DDDDiiiitttthhhheeeerrrr command will try to
  542.                approximate the missing colors by dithering with the
  543.                colors that were obtained.  If you're running _x_v on a
  544.                1-bit display the DDDDiiiitttthhhheeeerrrr command will be disabled, as
  545.                the image will always be dithered for display.
  546.  
  547.  
  548.           SSSSmmmmooooooootttthhhh  (Keyboard equivalent 's')
  549.                Smooths out distortion caused by integer round-off when
  550.                an image is expanded or shrunk.  This is generally a
  551.                desirable effect, however it is fairly time-consuming
  552.                on large images on most current workstations.  As such,
  553.                by default, it is not done automatically.  See "Section
  554.                9: Modifying XV Behavior" for more details.
  555.  
  556.  
  557.         SSSSeeeeccccttttiiiioooonnnn 3333....4444:::: CCCCrrrrooooppppppppiiiinnnngggg CCCCoooommmmmmmmaaaannnnddddssss
  558.           CCCCrrrroooopppp  (Keyboard equivalent 'c')
  559.                Crops the image to the current cropping rectangle.
  560.                This command is only available when a cropping
  561.                rectangle has been drawn on the image.  See "Section
  562.                2.2: Cropping" for further information.
  563.  
  564.  
  565.           UUUUnnnnCCCCrrrroooopppp  (Keyboard equivalent 'u')
  566.                Returns the image to its normal, uncropped state.  This
  567.                command is only available after the image has been
  568.                cropped.  See "Section 2.2: Cropping" for further
  569.                information.
  570.  
  571.  
  572.           AAAAuuuuttttooooCCCCrrrroooopppp  (Keyboard equivalent 'A')
  573.                Crops off any constant borders that exist in the image.
  574.                It will crop to the smallest rectangle that encloses
  575.                the 'interesting' section of the image.  It may not
  576.                always appear to work because of minor invisible color
  577.                changes in the image.  As such, it works best on
  578.                computer-generated images, and not as well on scanned
  579.                images.
  580.  
  581.  
  582.         SSSSeeeeccccttttiiiioooonnnn 3333....5555:::: TTTThhhheeee DDDDiiiissssppppllllaaaayyyy MMMMooooddddeeeessss MMMMeeeennnnuuuu
  583.           In addition to displaying an image in a window, _x_v can also
  584.           display images on the root (background) window of your X
  585.           display.  There are a variety of ways that _x_v can display an
  586.           image on the root window.  The DDDDiiiissssppppllllaaaayyyy MMMMooooddddeeeessss popup menu lets
  587.           you select where (and how) _x_v will display the image.
  588.  
  589.  
  590.  
  591.      Page 9                                          (printed 3/16/94)
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  599.  
  600.  
  601.  
  602.           Click on the DDDDiiiissssppppllllaaaayyyy MMMMooooddddeeeessss button in the _x_v _c_o_n_t_r_o_l_s window,
  603.           and hold the mouse button down.  This will cause the DDDDiiiissssppppllllaaaayyyy
  604.           MMMMooooddddeeeessss menu to pop up.  The current display mode will be
  605.           shown with a check mark next to it.  To select a new mode,
  606.           drag the mouse down to the desired mode, and release the
  607.           mouse button.
  608.  
  609.           It is not possible for _x_v to receive button presses or
  610.           keyboard presses in the root window.  As such, there are
  611.           several functions that cannot be used while in a 'root'
  612.           mode, such as pixel tracking and image cropping.  If you
  613.           want to do such things, you'll have to temporarily return to
  614.           'window' mode, and return to 'root' mode when you're
  615.           finished.  Also, when you are in a 'root' mode, you will not
  616.           be able to get rid of the _x_v _c_o_n_t_r_o_l_s window.  At best you
  617.           can iconify it (using your window manager).  (The reason for
  618.           this is that if you ever got rid of it there'd be no way to
  619.           get it back.)
  620.  
  621.  
  622.           WWWWiiiinnnnddddoooowwww
  623.                Displays the image in a window.  If you were previously
  624.                in a 'root' mode, the root window will also be cleared.
  625.  
  626.  
  627.           RRRRooooooootttt:::: TTTTiiiilllleeeedddd
  628.                The image is displayed in the root window.  One image
  629.                is displayed aligned with the top-left corner of the
  630.                screen.  The image is then duplicated towards the
  631.                bottom and right edges of the screen, as many times as
  632.                necessary to fill the screen.
  633.  
  634.  
  635.           RRRRooooooootttt:::: IIIInnnntttteeeeggggeeeerrrr TTTTiiiilllleeeedddd
  636.                Similar to RRRRooooooootttt:::: TTTTiiiilllleeeedddd, except that the image is first
  637.                shrunk so that its width and height are integer
  638.                divisors of the screen's width and height.  This keeps
  639.                the images along the bottom and right edges of the
  640.                screen from being NNNNoooorrrrmmmmaaaallll, DDDDbbbbllll SSSSiiiizzzzeeee, etc.) will lose the
  641.                'integer'-ness of the image.
  642.  
  643.  
  644.           RRRRooooooootttt:::: MMMMiiiirrrrrrrroooorrrreeeedddd
  645.                Tiles the original image with versions that have been
  646.                horizontally flipped, vertically flipped, and both
  647.                horizontally and vertically flipped.  This gets rid of
  648.                the sharp dividing lines where tiled images meet.  The
  649.                effect is quite interesting.
  650.  
  651.  
  652.           RRRRooooooootttt:::: IIIInnnntttteeeeggggeeeerrrr MMMMiiiirrrrrrrroooorrrreeeedddd
  653.                Like RRRRooooooootttt:::: MMMMiiiirrrrrrrroooorrrreeeedddd, but also does the integer-ization
  654.  
  655.  
  656.  
  657.      Page 10                                         (printed 3/16/94)
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  665.  
  666.  
  667.  
  668.                described under the RRRRooooooootttt:::: IIIInnnntttteeeeggggeeeerrrr TTTTiiiilllleeeedddd entry.
  669.  
  670.  
  671.           RRRRooooooootttt:::: CCCCeeeennnntttteeeerrrr TTTTiiiilllleeeedddd
  672.                Like RRRRooooooootttt:::: TTTTiiiilllleeeedddd, but it positions the images so that
  673.                one of them is centered on the screen, and the rest are
  674.                tiled off in all directions.  Visually pleasing without
  675.                the image size distortion associated with RRRRooooooootttt:::: IIIInnnntttteeeeggggeeeerrrr
  676.                TTTTiiiilllleeeedddd.
  677.  
  678.  
  679.           RRRRooooooootttt:::: CCCCeeeennnntttteeeerrrreeeedddd
  680.                Displays a single image centered in the root window,
  681.                surrounded by black.
  682.  
  683.  
  684.           RRRRooooooootttt:::: CCCCeeeennnntttteeeerrrreeeedddd,,,, WWWWaaaarrrrpppp
  685.                Displays a single image centered in the root window,
  686.                surrounded by a black and white 'warp' pattern, which
  687.                produces some mildly visually pleasing Moire effects.
  688.  
  689.  
  690.           RRRRooooooootttt:::: CCCCeeeennnntttteeeerrrreeeedddd,,,, BBBBrrrriiiicccckkkk
  691.                Displays a single image centered in the root window,
  692.                surrounded by a black and white 'brick' pattern.
  693.  
  694.  
  695.           Note: The three 'centered' modes (RRRRooooooootttt:::: CCCCeeeennnntttteeeerrrreeeedddd, RRRRooooooootttt::::
  696.           CCCCeeeennnntttteeeerrrreeeedddd,,,, WWWWaaaarrrrpppp, and RRRRooooooootttt:::: CCCCeeeennnntttteeeerrrreeeedddd,,,, BBBBrrrriiiicccckkkk, but not RRRRooooooootttt::::
  697.           CCCCeeeennnntttteeeerrrr TTTTiiiilllleeeedddd) require the creation of a Pixmap the size of
  698.           the screen.  This can be a fairly large request for
  699.           resources, and will fail on a color X terminal with
  700.           insufficient memory.  They can also require the transmission
  701.           of considerably more data than the other 'root' modes.  If
  702.           you're on a brain-damaged X terminal hanging off a slow
  703.           network, you should probably go somewhere else.  Barring
  704.           that, you should certainly avoid the 'centered' modes.
  705.  
  706.           Also note: If you quit _x_v while displaying an image on the
  707.           root window, the image will remain in the root window, and
  708.           the colors used by the image will remain allocated.  This is
  709.           generally regarded as correct behavior.  If you decide you
  710.           want to get rid of the root image to free up resources, or
  711.           simply because you're sick of seeing it, the quickest route
  712.           is to use run 'xv -clear', which will clear the root window,
  713.           release any allocated colors, and exit.  Alternately,
  714.           _x_s_e_t_r_o_o_t and any other X program that puts things in the
  715.           root window should be able to do the trick as well.
  716.  
  717.  
  718.         SSSSeeeeccccttttiiiioooonnnn 3333....6666:::: TTTThhhheeee 22224444----bbbbiiiitttt CCCCoooonnnnvvvveeeerrrrssssiiiioooonnnn MMMMeeeennnnuuuu
  719.           _x_v can currently only operate on 8-bit images.  Whenever you
  720.  
  721.  
  722.  
  723.      Page 11                                         (printed 3/16/94)
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  731.  
  732.  
  733.  
  734.           load a 24-bit image (such as JPEG, TIFF, PPM, etc) it is
  735.           immediately converted into an 8-bit colormapped image using
  736.           one of three algorithms.
  737.  
  738.  
  739.           FFFFaaaasssstttt Converts 24-bit images into 8-bit images by dithering
  740.                with a fixed 6x6x6 RGB colormap.  It is the quickest of
  741.                the three algorithms, but also generally produces the
  742.                worst images.  It can also be selected via the '-
  743.                quick24' command-line option or X resource.
  744.  
  745.  
  746.           SSSSlllloooowwww The default algorithm.  Takes about twice as long as
  747.                the fast algorithm. Uses the median-cut algorithm to
  748.                pick a set of 256 colors, and then dithers using these
  749.                colors.  It can be selected via the '-slow24' command-
  750.                line option or X resource.
  751.  
  752.  
  753.           BBBBeeeesssstttt By far and away the slowest of the algorithms.  It can
  754.                take up to ten times as long as the 'slow' algorithm.
  755.                It uses a cleverer version of the median-cut algorithm
  756.                to pick a better set of colors than the slow algorithm.
  757.                It does nnnnooootttt dither.  This might look best if you're
  758.                going to be expanding the image by very much, as the
  759.                dithering in the other two algorithms becomes very
  760.                noticable.  You can also select this option via the '-
  761.                best24' command-line option or X resource.
  762.  
  763.  
  764.         SSSSeeeeccccttttiiiioooonnnn 3333....7777:::: WWWWoooorrrrkkkkiiiinnnngggg WWWWiiiitttthhhh MMMMuuuullllttttiiiipppplllleeee FFFFiiiilllleeeessss
  765.           _x_v provides a a set of controls that let you conveniently
  766.           operate on a list of images.  To use the following commands,
  767.           you'll have to start up _x_v with a list of filenames.  For
  768.           example, you could type 'xv *.gif' (assuming, of course,
  769.           that you have a bunch of files that end with the suffix
  770.           '.gif' in the current directory).
  771.  
  772.           The filenames are listed in a scrollable window.  The
  773.           current selection is shown in reverse video.  If there are
  774.           more names than will fit in the window, the scrollbar will
  775.           be enabled.
  776.  
  777.  
  778.         SSSSeeeeccccttttiiiioooonnnn 3333....7777....1111:::: OOOOppppeeeerrrraaaattttiiiinnnngggg aaaa LLLLiiiisssstttt WWWWiiiinnnnddddoooowwww
  779.           The scrollbar operates as follows:
  780.  
  781.           o+  clicking in the top or bottom arrow of the scrollbar
  782.              scrolls the list by one line in the appropriate
  783.              direction.  It will continue to scroll the list as long
  784.              as you hold the mouse down.
  785.  
  786.  
  787.  
  788.  
  789.      Page 12                                         (printed 3/16/94)
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  797.  
  798.  
  799.  
  800.           o+  The thumb (the small white rectangle in the middle of the
  801.              scrollbar) shows roughly where in the list you are.  You
  802.              can change your position in the list by clicking and
  803.              dragging the thumb to another position in the scrollbar.
  804.              The list will scroll around as you move the thumb.
  805.  
  806.           o+  You can scroll the list up or down a page at a time by
  807.              clicking in the grey region between the thumb and the top
  808.              or bottom arrows.
  809.  
  810.           If you click on a name in the list, that name will become
  811.           highlighted.  You can drag the highlight bar up and down,
  812.           and the list will scroll appropriately.
  813.  
  814.           It is also possible to control the list window from the
  815.           keyboard.  In all cases, you must make sure that the window
  816.           sees the keypress.  Generally, this means you have to have
  817.           the cursor inside the window, though your window manager may
  818.           also require you to click inside the window first.
  819.  
  820.           o+  The up and down arrow keys move the highlight bar up and
  821.              down.  If the bar is at the top or bottom of the window,
  822.              the list will scroll one line.
  823.  
  824.           o+  The page up and page down keys scroll the list up or down
  825.              a page at a time.
  826.  
  827.           o+  Pressing the home key will jump to the beginning of the
  828.              list.  Pressing the end key will jump to the bottom of
  829.              the list.
  830.  
  831.  
  832.         SSSSeeeeccccttttiiiioooonnnn 3333....7777....2222:::: TTTThhhheeee FFFFiiiilllleeee CCCCoooommmmmmmmaaaannnnddddssss
  833.           You can directly view any image in the list by double-
  834.           clicking on its filename.  If _x_v is unable to load the file
  835.           (for any of a variety of reasons), it'll display an error
  836.           message and put up the default image, the _x_v logo.
  837.  
  838.  
  839.           NNNNeeeexxxxtttt  (Keyboard equivalent <space>)
  840.                Attempts to load the next file in the list.  If it is
  841.                unable to load the next file, it will continue down the
  842.                list until it successfully loads a file.  If it gets to
  843.                the bottom of the list without successfully loading a
  844.                file, it will put up the default image.
  845.  
  846.  
  847.           PPPPrrrreeeevvvviiiioooouuuussss  (Keyboard equivalent <backspace>)
  848.                Attempts to load the previous file in the list.  If it
  849.                is unable to load the previous file, it will continue
  850.                up the list until it successfully loads a file.  If it
  851.                gets to the top of the list without successfully
  852.  
  853.  
  854.  
  855.      Page 13                                         (printed 3/16/94)
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  863.  
  864.  
  865.  
  866.                loading a file, it will put up the default image.
  867.  
  868.  
  869.           DDDDeeeelllleeeetttteeee  (Keyboard equivalent <ctrl-D>)
  870.                This command lets delete the currently selected file
  871.                from the list (and optionally delete the associated
  872.                disk file).  Note that the currently selected file is
  873.                the one with the highlight bar on it.  While this is
  874.                generally the same as the currently displayed image, it
  875.                doesn't have to be.
  876.  
  877.                The DDDDeeeelllleeeetttteeee command will pop-up a window asking you what
  878.                you want to delete.  Your choices are:
  879.  
  880.                o+  LLLLiiiisssstttt EEEEnnnnttttrrrryyyy, which will remove the highlighted name
  881.                   from the list.  (Keyboard equivalent: the enter key)
  882.  
  883.                o+  DDDDiiiisssskkkk FFFFiiiilllleeee, which will remove the highlighted name
  884.                   from the list and also delete the associated disk
  885.                   file.  This removes unwanted images, just like
  886.                   manually typing 'rm <filename>' in another window.
  887.                   (Keyboard equivalent: <ctrl-D>)
  888.  
  889.                o+  CCCCaaaannnncccceeeellll, which lets you get out of the Delete command
  890.                   without actually deleting anything.  (Keyboard
  891.                   equivalent: the esc key)
  892.  
  893.         SSSSeeeeccccttttiiiioooonnnn 3333....7777....3333:::: IIIImmmmaaaaggggeeee RRRReeeellllooooaaaaddddiiiinnnngggg
  894.           It is occasionally desirable to reload an image file because
  895.           the contents of the file have changed.  For example, you
  896.           could be downloading a file, and you might want to keep
  897.           reloading the file to check on the progress of the download.
  898.           Or perhaps you have a program that generates images, and
  899.           you'd like to view these images without any manual
  900.           intervention.
  901.  
  902.           _X_V provides a way to reload an image via an external signal.
  903.           If you send the xv process a SIGQUIT signal ('kill -QUIT
  904.           _p_i_d', or currently selected file.  (The one that is
  905.           currently highlighted in the _x_v _c_o_n_t_r_o_l_s window filename
  906.           list.)  This behavior is exactly the same as hitting
  907.           '<return>' in the _x_v _c_o_n_t_r_o_l_s window.  If _x_v is currently in
  908.           a state where hitting '<return>' in the controls window
  909.           won't load an image (ie, some pop-up dialog box is grabbing
  910.           all such events), then sending this signal wonUt work
  911.           either.
  912.  
  913.           An idea: You could write a 'clock' program that, once a
  914.           minute, generates a really spiffy looking picture of the
  915.           current time (with color gradations, 3d extruded numbers,
  916.           whatever), then sends _x_v the signal to reload the generated
  917.           image.
  918.  
  919.  
  920.  
  921.      Page 14                                         (printed 3/16/94)
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  929.  
  930.  
  931.  
  932.         SSSSeeeeccccttttiiiioooonnnn 3333....8888:::: TTTThhhheeee GGGGrrrraaaabbbb CCCCoooommmmmmmmaaaannnndddd
  933.           The GGGGrrrraaaabbbb command works as follows:  click on the GGGGrrrraaaabbbb button
  934.           in the _x_v _c_o_n_t_r_o_l_s window, or type a <ctrl-G> key in any
  935.           active _x_v window (except for the JPEG, PostScript, and TIFF
  936.           'save' dialog boxes).  The terminal will beep once, and the
  937.           cursor will change to a cross.  The screen will remain
  938.           frozen until you complete the GGGGrrrraaaabbbb command.
  939.  
  940.           You can GGGGrrrraaaabbbb an arbitrary region of the screen by clicking
  941.           the _L_e_f_t mouse button and dragging a rectangle in exactly
  942.           the same way you draw a cropping rectangle.  When you let go
  943.           of the mouse button, the contents of this rectangle will be
  944.           read from the screen and loaded into _x_v.
  945.  
  946.           Alternately, you can grab the entire contents of a window
  947.           (including its frame) by clicking the _M_i_d_d_l_e mouse button
  948.           anywhere inside the chosen window.  If you click the _M_i_d_d_l_e
  949.           mouse button somewhere on the root window, the entire screen
  950.           will be loaded into _x_v.
  951.  
  952.           Or, alternately, you can simply abort the GGGGrrrraaaabbbb command by
  953.           clicking the _R_i_g_h_t mouse button anywhere on the screen.
  954.  
  955.           You can use the GGGGrrrraaaabbbb command for a wide variety of purposes.
  956.           For example, you can use it to print the contents of any
  957.           window (or the whole screen) by grabbing the appropriate
  958.           image and then saving it as a PostScript file.
  959.  
  960.           You can use the GGGGrrrraaaabbbb command, in conjunction with the Zoom
  961.           and UnZoom commands, as an effective replacement for the
  962.           _x_m_a_g program.
  963.  
  964.           You can also use the GGGGrrrraaaabbbb command to pick 'just the right
  965.           colors' for any application.  Simply start the application
  966.           in question, GGGGrrrraaaabbbb the window into _x_v, and use the colormap
  967.           editor to twiddle the colors around to your heart's content.
  968.  
  969.           Note:  The GGGGrrrraaaabbbb command does not work on Macintoshes running
  970.           _M_a_c_X in a rootless mode, which isn't too surprising, if you
  971.           think about it...
  972.  
  973.  
  974.         SSSSeeeeccccttttiiiioooonnnn 3333....9999:::: OOOOtttthhhheeeerrrr CCCCoooommmmmmmmaaaannnnddddssss
  975.           IIIInnnnffffoooo  (Keyboard equivalent 'i')
  976.                Opens and closes the _x_v _i_n_f_o window.  See "Section 4:
  977.                The Info Window" for more details.
  978.  
  979.  
  980.           CCCCoooollllEEEEddddiiiitttt  (Keyboard equivalent 'e')
  981.                Opens and closes the _x_v _c_o_l_o_r _e_d_i_t_o_r window.  See
  982.                "Section 5: The Color Editor" for more details.
  983.  
  984.  
  985.  
  986.  
  987.      Page 15                                         (printed 3/16/94)
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  995.  
  996.  
  997.  
  998.           LLLLooooaaaadddd  (Keyboard equivalent <ctrl-L>)
  999.                Opens the _x_v _l_o_a_d window.  See "Section 6: The Load
  1000.                Window" for more details.
  1001.  
  1002.  
  1003.           SSSSaaaavvvveeee  (Keyboard equivalent <ctrl-S>)
  1004.                Opens the _x_v _s_a_v_e window.  See "Section 7: The Save
  1005.                Window" for more details.
  1006.  
  1007.  
  1008.           QQQQuuuuiiiitttt  (Keyboard equivalent 'q')
  1009.                Quits out of the program.
  1010.  
  1011.  
  1012.      SSSSEEEECCCCTTTTIIIIOOOONNNN 4444::::     TTTTHHHHEEEE IIIINNNNFFFFOOOO WWWWIIIINNNNDDDDOOOOWWWW
  1013.         SSSSeeeeccccttttiiiioooonnnn 4444....1111:::: OOOOvvvveeeerrrrvvvviiiieeeewwww
  1014.           _x_v provides a window to display information about the
  1015.           current image, color allocation, expansion, cropping, and
  1016.           any error messages.  This window can be opened by issuing
  1017.           the Info command.  (Click on the Info button in the _x_v
  1018.           _c_o_n_t_r_o_l_s window, or type 'i' in any open _x_v window.) You can
  1019.           close the window by using the IIIInnnnffffoooo command while the window
  1020.           is open.  You can also close the window by clicking anywhere
  1021.           inside it.
  1022.  
  1023.           The top portion of the window displays the program name,
  1024.           revision date, and patchlevel.  It also shows the University
  1025.           of Pennsylvania shield, the GRASP Lab logo, the copyright
  1026.           notice, and of course, the author's name.
  1027.  
  1028.  
  1029.         SSSSeeeeccccttttiiiioooonnnn 4444....2222:::: TTTThhhheeee FFFFiiiieeeellllddddssss
  1030.           The "Filename" field displays the name of the currently
  1031.           loaded file.  The name is displayed without any leading
  1032.           pathname.  If there is no currently loaded image (you're
  1033.           looking at the default image) this field will display
  1034.           "<none>".
  1035.  
  1036.           The "Format" field displays information describing what
  1037.           image format the file is stored in, and how large the file
  1038.           is (in bytes).
  1039.  
  1040.           The "Resolution" field shows the width and height (in image
  1041.           pixels) of the loaded image.  Note that this does not
  1042.           necessarily have anything to do with the size of the image
  1043.           currently displayed on your screen.  These numbers do not
  1044.           change as you modify the display image.
  1045.  
  1046.           The "Cropping" field displays the current state of any
  1047.           cropping activity.  If you are looking at the entire
  1048.           (uncropped) image, and there is no cropping rectangle drawn,
  1049.           this field will show "<none>".  If you draw a cropping
  1050.  
  1051.  
  1052.  
  1053.      Page 16                                         (printed 3/16/94)
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  1061.  
  1062.  
  1063.  
  1064.           rectangle, or if you are viewing cropped portion of image,
  1065.           this field will display something like "247x128 rectangle
  1066.           starting at 132,421".  See "Section 2.2: Cropping" for more
  1067.           details.
  1068.  
  1069.           The "Expansion" field gives you information about how the
  1070.           image is displayed.  It will display something like "1.58 x
  1071.           1.37 (505 x 273)".  This tells you that the current
  1072.           displayed image is 505 pixels wide and 273 pixels high, and
  1073.           that it is 1.58 times wider and 1.37 times higher than the
  1074.           internal image (which, in this case, had a size of 320x200).
  1075.  
  1076.           The "Colors" field gives you detailed information on how
  1077.           well (or poorly) color allocation went.  If everything went
  1078.           reasonably well it will display something like:
  1079.  
  1080.                Got all 67 desired colors.  (66 unique)
  1081.  
  1082.           This means that 67 entries in the image's colormap were used
  1083.           in the image, but that only 66 of these colors were
  1084.           different, as far as the X server was concerned.
  1085.  
  1086.           See "Appendix E: Color Allocation" for a complete discussion
  1087.           of how colors are allocated, and what the "Colors" field can
  1088.           tell you.
  1089.  
  1090.           Note that the fields are filled in as information becomes
  1091.           available.  As such, they can be used as a rough 'progress
  1092.           indicator' when loading images.  When you begin loading, all
  1093.           the fields are cleared.  Once the image has been
  1094.           successfully loaded, the top three fields (Filename, Format,
  1095.           Resolution) are filled in.  Once the colors have been
  1096.           allocated, and the display image generated, the bottom three
  1097.           fields are shown (Cropping, Expansion, and Colors).
  1098.  
  1099.  
  1100.         SSSSeeeeccccttttiiiioooonnnn 4444....3333:::: SSSSttttaaaattttuuuussss LLLLiiiinnnneeeessss
  1101.           The bottom two lines in the info window display various
  1102.           error messages, warnings, and status information.  These two
  1103.           lines are also duplicated in the _x_v _c_o_n_t_r_o_l_s window.
  1104.  
  1105.           The upper line is the more commonly used.  It normally
  1106.           displays a one-line summary of the current image and color
  1107.           allocation success.  If an error occurs, it will be
  1108.           displayed on this line as well.
  1109.  
  1110.           The lower line is used to display warning messages.
  1111.  
  1112.  
  1113.      SSSSEEEECCCCTTTTIIIIOOOONNNN 5555::::     TTTTHHHHEEEE CCCCOOOOLLLLOOOORRRR EEEEDDDDIIIITTTTOOOORRRR
  1114.         SSSSeeeeccccttttiiiioooonnnn 5555....1111:::: OOOOvvvveeeerrrrvvvviiiieeeewwww
  1115.           The _x_v _c_o_l_o_r _e_d_i_t_o_r provides a powerful system for
  1116.  
  1117.  
  1118.  
  1119.      Page 17                                         (printed 3/16/94)
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  1127.  
  1128.  
  1129.  
  1130.           manipulating color images.  Since there are many different
  1131.           reasons why a person would want to modify an image's colors,
  1132.           and many different types of images that may need
  1133.           modification, there is no one color manipulation tool that
  1134.           would be 'best' for all purposes.  Because of this problem,
  1135.           _x_v gives the user three different color tools, all of which
  1136.           can be used simultaneously.
  1137.  
  1138.           o+  Colormap Editing: This tool lets you arbitrarily modify
  1139.              individual colormap entries.  Useful for modifying the
  1140.              color of captions or other things that have been added to
  1141.              images.  Also works well on images that have a small
  1142.              number of colors, such as images generated by 'drawing'
  1143.              or CAD programs.  It's also an easy way to spiff up
  1144.              boring 1-bit black and white images.
  1145.  
  1146.           o+  HSV Modification: This tool lets you alter the image
  1147.              globally in the HSV colorspace.  (See "Appendix D: RGB
  1148.              and HSV Colorspaces" for more info.)  Here are examples
  1149.              of the sort of things you can do with this tool:
  1150.  
  1151.              o+  turn all the blues in an image into reds
  1152.  
  1153.              o+  change the tint of an image
  1154.  
  1155.              o+  change a greyscale image into a mauve-scale image
  1156.  
  1157.              o+  increase or decrease the amount of color saturation in
  1158.                 an image
  1159.  
  1160.              o+  change the overall brightness of an image
  1161.  
  1162.              o+  change the overall contrast of an image
  1163.  
  1164.           o+  RGB Modification: This tool lets you route the red,
  1165.              green, and blue color components of an image through
  1166.              independent mapping functions.  The functions can either
  1167.              be the standard gamma function, or any arbitrary function
  1168.              that can be drawn with straight line segments or a cubic
  1169.              spline.  See "Section 5.3.4: The Intensity Graph" for
  1170.              more info about graph functions.
  1171.  
  1172.           The major use of the RGB Modification tool is to correct for
  1173.           the differing color response curves of various color
  1174.           monitors, printers, and scanners.  This is the tool to use
  1175.           when "the image is too red", for instance.
  1176.  
  1177.           These three tools are tied together in a fixed order.  The
  1178.           Colormap Editing tool operates on the original colors in the
  1179.           image.  The output of this tool is piped into the HSV
  1180.           Modification tool.  Its output is piped into the RGB
  1181.           Modification tool.  The output from the RGB Modification
  1182.  
  1183.  
  1184.  
  1185.      Page 18                                         (printed 3/16/94)
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  1193.  
  1194.  
  1195.  
  1196.           tool is what actually gets displayed.
  1197.  
  1198.           In addition there is a collection of buttons that control
  1199.           the _x_v _c_o_l_o_r _e_d_i_t_o_r as a whole (more or less).
  1200.  
  1201.           Don't Panic!  It's not as complicated as it looks.
  1202.  
  1203.  
  1204.         SSSSeeeeccccttttiiiioooonnnn 5555....2222:::: TTTThhhheeee CCCCoooolllloooorrrrmmmmaaaapppp EEEEddddiiiittttiiiinnnngggg TTTToooooooollll
  1205.           The top portion of this window shows the colormap of the
  1206.           current image.  There are 16 cells across, and up to 16 rows
  1207.           down, for a maximum of 256 color cells.  Only cells actually
  1208.           used somewhere in the image are shown in this array.
  1209.  
  1210.           The currently selected color cell is shown with a thick
  1211.           border.  You can change the selection by clicking anywhere
  1212.           in the array.  If you drag the mouse through this area,
  1213.           you'll see the dials at the bottom change to track the
  1214.           current pixel values.
  1215.  
  1216.           You can also select a color cell by clicking anywhere in the
  1217.           image window.  Whichever pixel value you were on when you
  1218.           let go of the mouse will become the new selected color cell.
  1219.  
  1220.           You can define a smoothly gradated range of colors by _L_e_f_t
  1221.           clicking on the color cell that marks the 'start' of the
  1222.           range, and _M_i_d_d_l_e clicking on the color cell that marks the
  1223.           'end' of the range.  Intervening color cells will be
  1224.           interpolated between the colors of the
  1225.  
  1226.           As an example:
  1227.  
  1228.           o+  View the 'default' image by running _x_v without specifying
  1229.              any filenames.
  1230.  
  1231.           o+  Open the _x_v _c_o_l_o_r _e_d_i_t_o_r window, and _L_e_f_t click on the
  1232.              first color cell.
  1233.  
  1234.           o+  Turn this color cell _r_e_d by setting the RGB dials to
  1235.              255,0,0.
  1236.  
  1237.           o+  _L_e_f_t click on the 64th color cell (the rightmost color
  1238.              cell in the last complete row).
  1239.  
  1240.           o+  Turn this color cell _y_e_l_l_o_w by setting the RGB dials to
  1241.              255,255,0.
  1242.  
  1243.           o+  _M_i_d_d_l_e click on the first color cell.  A smooth series of
  1244.              _y_e_l_l_o_w_i_s_h-_r_e_d_s will be generated from the 64th color cell
  1245.              to the first color cell.  Note that the 'direction'
  1246.              doesn't matter.
  1247.  
  1248.  
  1249.  
  1250.  
  1251.      Page 19                                         (printed 3/16/94)
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  1259.  
  1260.  
  1261.  
  1262.           Since certain images will have many colors that are the
  1263.           same, or nearly the same, it is sometimes convenient to
  1264.           group color cells together.  Grouped color cells all take on
  1265.           the same color, and changing any one of them affects all of
  1266.           the other colors in the group.
  1267.  
  1268.           To group color cells together, do the following:
  1269.  
  1270.           o+  Hold down the <shift> key.
  1271.  
  1272.           o+  Left click on one color cell that you would like to be in
  1273.              the group
  1274.  
  1275.           o+  Right click on other color cells that you wish to be in
  1276.              this group.  (Right clicking on cells that are already
  1277.              selected will de-select them.)
  1278.  
  1279.           o+  Release the <shift> key when you're done.
  1280.  
  1281.           You can create as many groups as you like.
  1282.  
  1283.           You can use this grouping/ungrouping technique to copy
  1284.           colors from one color cell to another.  Left click on the
  1285.           source color cell, Right click on the destination color
  1286.           cell, and Right click on the destination color cell again
  1287.           (to ungroup it).
  1288.  
  1289.  
  1290.         SSSSeeeeccccttttiiiioooonnnn 5555....2222....1111:::: UUUUssssiiiinnnngggg tttthhhheeee DDDDiiiiaaaallll CCCCoooonnnnttttrrrroooollllssss
  1291.           At the bottom the Colormap Editing tool are three dials that
  1292.           let you set the color of the current color cell (or group of
  1293.           cells).  By default, the dials control the Red, Green, and
  1294.           Blue components of the RGB colorspace, but they can also
  1295.           control the Hue, Saturation, and Value components of the HSV
  1296.           colorspace.  (The RRRRGGGGBBBB////HHHHSSSSVVVV button controls this.)
  1297.  
  1298.           Regardless of what they control, all dials in _x_v work the
  1299.           same way.  Clicking on the single arrows increase/decrease
  1300.           the value by 1.  Clicking on the double arrows
  1301.           increase/decrease the value by a larger amount (16 in this
  1302.           case).  If you click on one of the arrows, and hold the
  1303.           mouse button down, the increase/decrease will repeat until
  1304.           you release the mouse button.
  1305.  
  1306.           You can also click in the general area of the pointer and
  1307.           simply drag it to the position you want.  The further your
  1308.           mouse cursor is from the center of the dial, the more
  1309.           precise the control will be.  While dragging, you do not
  1310.           have to keep the cursor inside the dial window.
  1311.  
  1312.  
  1313.         SSSSeeeeccccttttiiiioooonnnn 5555....2222....2222:::: CCCCoooolllloooorrrrmmmmaaaapppp EEEEddddiiiittttiiiinnnngggg CCCCoooommmmmmmmaaaannnnddddssss
  1314.  
  1315.  
  1316.  
  1317.      PPPPaaaaggggeeee 22220000                                         ((((pppprrrriiiinnnntttteeeedddd 3333////11116666////99994444))))
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  1325.  
  1326.  
  1327.  
  1328.           CCCCoooollllUUUUnnnnddddoooo
  1329.                Undoes the last change made to the colormap that
  1330.                resulted in a color cell changing value.  This includes
  1331.                grouping and ungrouping color cells, and changing any
  1332.                of the dials.
  1333.  
  1334.  
  1335.           RRRReeeevvvveeeerrrrtttt
  1336.                Undoes all color changes.  Returns the colormap to its
  1337.                original state.  Destroys any groups that you may have
  1338.                created.
  1339.  
  1340.  
  1341.           RRRRGGGGBBBB////HHHHSSSSVVVV
  1342.                Toggles the Colormap Editing dials between editing
  1343.                colors in terms of Red, Green, and Blue, and editing
  1344.                colors in terms of Hue, Saturation, and Value.
  1345.  
  1346.  
  1347.           GGGGrrrreeeeyyyy Turns color images into greyscale images by changing
  1348.                the colormap.  This replaces each color cell with a
  1349.                greyscale representation of itself.  Use the RRRReeeevvvveeeerrrrtttt
  1350.                command to restore the colors.
  1351.  
  1352.  
  1353.           RRRReeeevvvvVVVViiiidddd
  1354.                This command behaves differently, depending on the
  1355.                setting of the RGB/HSV mode.  (You can tell which mode
  1356.                you're in by the titles on the dials.)
  1357.  
  1358.                In RGB mode, each color component is separately
  1359.                'inverted'.  For example, Yellow (which is composed of
  1360.                full red, full green, and no blue) would turn to Blue
  1361.                (no red, no green, full blue).
  1362.  
  1363.                In HSV mode, only the Value (intensity) component is
  1364.                'inverted'.  The Hue and Saturation components remain
  1365.                the same.  In this mode, bright colors turn to dark
  1366.                versions of the same color.  For example, a Yellow
  1367.                would turn Brown.
  1368.  
  1369.  
  1370.           RRRRaaaannnnddddoooommmm
  1371.                Generates a random colormap.  This is of questionable
  1372.                usefulness, but it will occasionally come up with
  1373.                pleasing color combinations that you never would've
  1374.                come up with yourself.  So it stays in.  It works best
  1375.                on images with a small number of colors.  Note that it
  1376.                respects cell groupings, so if your image has a lot of
  1377.                colors, you can create a few large groups and then use
  1378.                the Random command.
  1379.  
  1380.  
  1381.  
  1382.  
  1383.      Page 21                                         (printed 3/16/94)
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  1391.  
  1392.  
  1393.  
  1394.           Note: It is HIGHLY RECOMMENDED that if you're using the
  1395.           Colormap Editing tool, you do NOT use the HSV Modification
  1396.           tool or the RGB Modification tool as well.  If you do, the
  1397.           results can be quite confusing.  For example, you might edit
  1398.           a color cell, and set its color values to produce a purple.
  1399.           However, because of HSV/RGB Modification further down the
  1400.           line, the actual color displayed on the image (and in the
  1401.           color cell) is yellow.  Very confusing, indeed.
  1402.  
  1403.  
  1404.         SSSSeeeeccccttttiiiioooonnnn 5555....3333:::: TTTThhhheeee HHHHSSSSVVVV MMMMooooddddiiiiffffiiiiccccaaaattttiiiioooonnnn TTTToooooooollll
  1405.           There are four separate controls in the HSV Modification
  1406.           tool.  At the top of the window are a pair of circular
  1407.           controls that handle hue remapping.  Lower down is a
  1408.           circular control that maps 'white' (and greys) to a
  1409.           specified color.  There is a dial control that lets you
  1410.           saturate/desaturate the colors of the current information.
  1411.           Finally, at the bottom there is a graph window that lets you
  1412.           modify intensity values via an arbitrary remapping function.
  1413.  
  1414.  
  1415.         SSSSeeeeccccttttiiiioooonnnn 5555....3333....1111:::: HHHHuuuueeee RRRReeeemmmmaaaappppppppiiiinnnngggg CCCCoooonnnnttttrrrroooollllssss
  1416.           These two dials are used to define a source and a
  1417.           destination range of hue values.  Every hue in the source
  1418.           range (defined in the From dial) gets mapped to the value of
  1419.           the corresponding point in the destination range (defined in
  1420.           the To dial).
  1421.  
  1422.           Each dial has a pair of radial lines with handles at their
  1423.           ends.  Between the two lines an arc is drawn with an arrow
  1424.           at one end.  The wedge drawn by these lines and the arc
  1425.           defines a range of values (in degrees).  The direction of
  1426.           the arc (clockwise, or counter-clockwise) determines the
  1427.           direction of this range of values (increasing or
  1428.           decreasing).
  1429.  
  1430.           Distributed around the dial are tick marks and the letters
  1431.           'R', 'Y', 'G', 'C', 'B', and 'M'.  These letters stand for
  1432.           the colors Red, Yellow, Green, Cyan, Blue, and Magenta, and
  1433.           they show where these colors appear on the circle.
  1434.  
  1435.           The range is shown numerically below the control.  By
  1436.           default the range is '330, 30 CW'.  This means that a range
  1437.           of values [330, 331, 332, ... 359, 0, 1, ... 28, 29, 30] has
  1438.           been defined.  Note that (being a circle) it wraps back to 0
  1439.           after 359.
  1440.  
  1441.           The range can be changed in many different ways.  You can
  1442.           click on the 'handles' at the end of the radial lines and
  1443.           move them around.  If you click inside the dial, but not on
  1444.           one of the handles, you'll be able to drag the range around
  1445.           as a single object.  There are also 5 buttons below the dial
  1446.  
  1447.  
  1448.  
  1449.      Page 22                                         (printed 3/16/94)
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  1457.  
  1458.  
  1459.  
  1460.           that let you rotate the range, flip the direction of the
  1461.           range, and increase/decrease the size of the range while
  1462.           keeping it centered around the same value.
  1463.  
  1464.           In its default state, the To dial is set to the same range
  1465.           as the From dial.  When the two dials are set to the same
  1466.           range, they are effectively 'turned off', and ignored.
  1467.  
  1468.           An example of hue remapping:
  1469.  
  1470.           o+  As a simple example of the sort of things you can do with
  1471.              the hue remapping control, we'll change the background
  1472.              color of the default (_x_v logo) image without changing any
  1473.              other colors in the image.  Since the background is
  1474.              composed of a gradient of 64 colors, you would not want
  1475.              to do this with the Colormap Editing tool.  It would take
  1476.              forever.
  1477.  
  1478.           o+  First, get the default image up on the screen by running
  1479.              'xv' without giving any filenames.  Open up the _x_v _c_o_l_o_r
  1480.              _e_d_i_t_o_r window via the CCCCoooollllEEEEddddiiiitttt command.
  1481.  
  1482.           o+  Next, click the mouse in the image window and drag it
  1483.              around.  You'll see that all the background pixels have
  1484.              the same Hue component value (240).
  1485.  
  1486.           o+  To remap this hue, simply adjust the From dial so that
  1487.              its range includes this Hue value.  The background should
  1488.              change from 'blue' to a reddish color, assuming the To
  1489.              dial is still set to its default range (centered around
  1490.              'R').  If more than the background changed color, you can
  1491.              shrink the From range so that it covers fewer colors.  In
  1492.              fact, it's possible to shrink the range to the point
  1493.              where it only covers only a single value.
  1494.  
  1495.           Note that the values printed when you are tracking pixel
  1496.           values in the image are the values before the HSV
  1497.           Modification tool is applied.  For example, the background
  1498.           of the default image will still claim to be blue, regardless
  1499.           of what color you may have changed it to.  This is so that
  1500.           you know what Hue value you will need to remap if you want
  1501.           to change its color again.
  1502.  
  1503.           If you press the Reset button that is located near the hue
  1504.           remapping controls, it will effectively disable the hue
  1505.           remapping by setting the To range equal to the From range.
  1506.  
  1507.           Below the hue remapping controls are a group of 'radio
  1508.           buttons'.  You can have up to six different hue remappings
  1509.           happening simultaneously.  Higher numbered mappings take
  1510.           precedence over lower number mappings.
  1511.  
  1512.  
  1513.  
  1514.  
  1515.      Page 23                                         (printed 3/16/94)
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  1523.  
  1524.  
  1525.  
  1526.           An example of multiple hue remappings:
  1527.  
  1528.           o+  Draw a From range that is a complete circle.  The easiest
  1529.              way to do this is to draw a range that is nearly a full
  1530.              circle, then click and hold down the 'increase range'
  1531.              button located below the From range dial until the range
  1532.              stops getting bigger.
  1533.  
  1534.           o+  Copy this range to the To range by pressing the Reset
  1535.              button.
  1536.  
  1537.           o+  Rotate the To range slightly, by either clicking and
  1538.              dragging anywhere in the To range dial, or by using the
  1539.              'rotate clockwise' and 'rotate counter-clockwise' buttons
  1540.              located below the To range.
  1541.  
  1542.           o+  You've just built yourself what is effectively a tint
  1543.              control.
  1544.  
  1545.           o+  Now, suppose, you'd like to adjust the background color
  1546.              of your (tint-modified) image, without affecting anything
  1547.              else.  Clicking on the background in the image window
  1548.              reveals that the background still has an (original) hue
  1549.              of 240.  To modify this hue without affecting anything
  1550.              else, we'll need a second hue remapping.
  1551.  
  1552.           o+  Click on the 2 radio button.  The dials will change to
  1553.              some other default setting.  As before, set the From
  1554.              range to encompass the value 240, preferably as 'tightly'
  1555.              as possible, and set the To range to produce the desired
  1556.              background color.
  1557.  
  1558.           Note that the six hue remappings are not 'cascaded'.  The
  1559.           output of one remapping is not fed as input into any of the
  1560.           other hue remappings.  The hue remappings always operate on
  1561.           the hue values in the original image.  In this example, if
  1562.           remapping #1 adds 32 to all hue values, thereby mapping the
  1563.           blue background (value 240) into a purple-blue (value 272),
  1564.           remapping #2 still sees the background at 240, and can remap
  1565.           it to anything it likes.  Similarly, in the same example, if
  1566.           remapping #1 has mapped a green-blue color (value 208) into
  1567.           blue (value 240), remapping #2 will not map this into
  1568.           another color.  As far as remapping #2 is concerned, that
  1569.           green-blue is still green-blue.
  1570.  
  1571.           If it seems complicated, I'm sorry.  It is.
  1572.  
  1573.  
  1574.         SSSSeeeeccccttttiiiioooonnnn 5555....3333....2222:::: TTTThhhheeee WWWWhhhhiiiitttteeee RRRReeeemmmmaaaappppppppiiiinnnngggg CCCCoooonnnnttttrrrroooollll
  1575.           In the HSV colorspace, 'white' (including black, and all the
  1576.           greys in between) has no Hue or Saturation components.  As
  1577.           such, it is not possible to use the hue remapping controls
  1578.  
  1579.  
  1580.  
  1581.      Page 24                                         (printed 3/16/94)
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  1589.  
  1590.  
  1591.  
  1592.           to change the color of white pixels in the image, since they
  1593.           have no 'color' to change.
  1594.  
  1595.           The white remapping control provides a way to add Hue and
  1596.           Saturation components to all the whites in the image.  It
  1597.           consists of a movable point in a color dial.  The angle of
  1598.           the dot from the center of the dial determines the Hue
  1599.           component.  The distance of the dot from the center of the
  1600.           dial determines the Saturation component.  The further the
  1601.           dot is from the center of the dial, the more saturated the
  1602.           color will be.
  1603.  
  1604.           You can control the white remapping control in several ways.
  1605.           You can click on the handle and drag it around with the
  1606.           mouse.  There are also four buttons provided under the dial.
  1607.           One pair allows you to rotate the handle clockwise and
  1608.           counter-clockwise without changing its distance from the
  1609.           center.  The other pair of buttons lets you change the
  1610.           distance between the handle and the center without changing
  1611.           the angle.
  1612.  
  1613.           The current Hue and Saturation values provided by the
  1614.           control is displayed below the dial.  The first number is
  1615.           the Hue component, in degrees, and the second is the
  1616.           Saturation component, as a percentage.
  1617.  
  1618.           There is also a checkbox that will let you turn off the
  1619.           white remapping control.  This lets you quickly compare your
  1620.           modified 'white' with the original white.  You can also
  1621.           effectively disable the white remapping control by putting
  1622.           the handle back in the center of the control.  The easiest
  1623.           way to do this is to click and hold the 'move towards
  1624.           center' button until the saturation gets down to 0%.
  1625.  
  1626.           Example:
  1627.  
  1628.           o+  Press the Grey control in the Colormap Editing tool.
  1629.              This turns all the colors in the image into shades of
  1630.              grey.
  1631.  
  1632.           o+  Drag the handle in the white remapping control halfway
  1633.              down towards the 'R' mark.  The Hue and Saturation values
  1634.              should be roughly 0-degrees and 50%.  The image should
  1635.              now be displayed in shades of pink.
  1636.  
  1637.  
  1638.         SSSSeeeeccccttttiiiioooonnnn 5555....3333....3333:::: TTTThhhheeee SSSSaaaattttuuuurrrraaaattttiiiioooonnnn CCCCoooonnnnttttrrrroooollll
  1639.           The saturation control lets you globally increase or
  1640.           decrease the color saturation of the image.  In effect, it
  1641.           is much like the 'color' control on most color televisions.
  1642.  
  1643.           The saturation control is a dial that operates exactly like
  1644.  
  1645.  
  1646.  
  1647.      Page 25                                         (printed 3/16/94)
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  1655.  
  1656.  
  1657.  
  1658.           the dials described in "Section 5.2.1 Using the Dial
  1659.           Controls".  In short, you can click and hold down any of the
  1660.           four buttons in the bottom of the control to increase or
  1661.           decrease the control's value.  You can also click on the
  1662.           dial itself and move the pointer around directly.
  1663.  
  1664.           The saturation control has values that range from '-100%' to
  1665.           '+100%'.  At its default setting of '0%', the saturation
  1666.           control has no effect on the image.  As the values increase,
  1667.           the colors become more saturated, up to '+100%' where every
  1668.           color is fully saturated.  Likewise, as values decrease, the
  1669.           colors become desaturated.  At '-100%', every color will
  1670.           become a completely desaturated (i.e., a shade of grey).
  1671.           Note that this control is applied after the the White
  1672.           Remapping control, so if you 'greyify' the image by
  1673.           completely desaturating it, you will not be able to color it
  1674.           using the White Remapping control.
  1675.  
  1676.           Unless you're trying for some special effects, the useful
  1677.           range of this control is probably '+/-20%'.  Also note that
  1678.           the control will have no effect on shades of grey, as they
  1679.           have no color to saturate.
  1680.  
  1681.  
  1682.         SSSSeeeeccccttttiiiioooonnnn 5555....3333....4444:::: TTTThhhheeee IIIInnnntttteeeennnnssssiiiittttyyyy GGGGrrrraaaapppphhhh
  1683.           The intensity graph allows you to change the brightness of
  1684.           the image, change the contrast of the image, and get some
  1685.           unique effects.
  1686.  
  1687.           The intensity graph is a function that lets you remap
  1688.           intensity values (the Value component in HSV Colorspace)
  1689.           into other intensity values.  The input and output values of
  1690.           this function both range from 0 to 255.  The input values
  1691.           range along the x axis of this graph (the horizontal).  For
  1692.           every input value (point along the x axis) there is a unique
  1693.           output value determined by the height of the graph at that
  1694.           point.  In the graph's default state, the function is a
  1695.           straight line from bottom-left to top-right.  In this case,
  1696.           each input value produces an equivalent output value, and
  1697.           the graph has no effect.
  1698.  
  1699.           There are a number of 'handles' along the graph.  These
  1700.           provide your major means of interacting with the graph.  You
  1701.           can move them around arbitrarily, subject to these two
  1702.           constraints: the handles at the far left and far right of
  1703.           the graph can only be moved vertically, and handles must
  1704.           remain between their neighboring handles for the graph to
  1705.           remain a proper function.
  1706.  
  1707.           The handles are normally connected by a spline curve.  To
  1708.           see this, move one of the handles by clicking and dragging
  1709.           it.  (Note that the _x,_y position of the current handle is
  1710.  
  1711.  
  1712.  
  1713.      Page 26                                         (printed 3/16/94)
  1714.  
  1715.  
  1716.  
  1717.  
  1718.  
  1719.  
  1720.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  1721.  
  1722.  
  1723.  
  1724.           displayed while the mouse button is held down.)  The
  1725.           function will remain a smoothly curved line that passes
  1726.           through all the handles.  You can change this behavior by
  1727.           putting the function into 'lines' mode.  Press the 'lines'
  1728.           button (the second button down from the top).  The function
  1729.           will change to a series of line segments that connect the
  1730.           handles.  Press the 'spline' button (the top button) to go
  1731.           back to 'spline' mode.
  1732.  
  1733.           The next two buttons let you add or delete handles.  The
  1734.           'add handle' button will insert a handle into the largest
  1735.           'gap' in the function.  The 'delete handle' button will
  1736.           remove a handle from the smallest 'gap' in the function.
  1737.           You can have as little as 2 handles, or as many as 16.  Note
  1738.           that as the number of handles gets large, the spline will
  1739.           start getting out of control.  You may wish to switch to
  1740.           'lines' mode in this case.
  1741.  
  1742.           The 'Reset' button puts everything back on a straight line
  1743.           connecting bottom-left to top-right (a 1:1 function).  It
  1744.           does not change the number of handles, nor does it change
  1745.           the x-positions of the handles.
  1746.  
  1747.           The 'Gam' button lets you set the function curve by entering
  1748.           a single number.  The function is set equal to the gamma
  1749.           function:
  1750.  
  1751.                Y = 255 * (I/255) ^ (1/g)
  1752.  
  1753.           where I is the input value (0-255), g is the gamma value,
  1754.           and Y is the computed result.
  1755.  
  1756.           Gamma values (for our purposes) can range between 0 and
  1757.           10000, non-inclusive.
  1758.  
  1759.           o+  A gamma value of '1.00' results in the normal 1:1
  1760.              straight line.
  1761.  
  1762.           o+  Gamma values of less than 1.00 but greater than 0.00
  1763.              result in 'exponential' curves, which will dim the image.
  1764.  
  1765.           o+  Gamma values greater than 1.00 result in 'logarithmic'
  1766.              curves, which will brighten the image.  Try it and see.
  1767.  
  1768.           There is a shortcut for the 'Gam' button.  Type 'g' while
  1769.           the mouse is inside the graph window.
  1770.  
  1771.           Also, touching any of the handles after a 'Gam' command will
  1772.           put the graph back into its 'normal' mode.  (Either 'spline'
  1773.           or 'lines' depending on which of the top two buttons is
  1774.           turned on.)
  1775.  
  1776.  
  1777.  
  1778.  
  1779.      Page 27                                         (printed 3/16/94)
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785.  
  1786.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  1787.  
  1788.  
  1789.  
  1790.           Generally, whenever you move a graph handle and let go of
  1791.           it, the image will be redrawn to show you the effects of
  1792.           what you've done.  This can be time-consuming if you intend
  1793.           to move many points around.  You can temporarily prevent the
  1794.           redisplay of the image by holding down a <shift> key.
  1795.           Continue to hold the <shift> key down while you move the
  1796.           handles to the new position.  Release the <shift> key when
  1797.           you're done, and the image will be redisplayed.
  1798.  
  1799.  
  1800.         SSSSeeeeccccttttiiiioooonnnn 5555....4444:::: TTTThhhheeee RRRRGGGGBBBB MMMMooooddddiiiiffffiiiiccccaaaattttiiiioooonnnn TTTToooooooollll
  1801.           The RGB Modification tool is a collection of three graph
  1802.           windows, each of which operate on one of the components of
  1803.           the RGB colorspace.  This tool lets you perform global
  1804.           color-correction on the image by boosting or cutting the
  1805.           values of one or more of the RGB color components.  You can
  1806.           use this to correct for color screens that are 'too blue',
  1807.           or for color printers that produce 'brownish' output, or
  1808.           whatever.
  1809.  
  1810.           The graphs work exactly as explained in "Section 5.3.4:  The
  1811.           Intensity Graph".
  1812.  
  1813.           Neat Trick: In addition to color-correction, you can use the
  1814.           RGB modification tool to add color to images that didn't
  1815.           have color to begin with.  For instance, you can 'pseudo-
  1816.           color' a greyscale image.
  1817.  
  1818.           An example of pseudo-coloring:
  1819.  
  1820.           o+  Adjust the Red graph so that there is a strong red
  1821.              presence on the right side of the graph, and none on the
  1822.              left, or in the middle.
  1823.  
  1824.           o+  Adjust the Green graph so that there is a strong green
  1825.              presence in the middle of the graph, and none on the left
  1826.              or right.
  1827.  
  1828.           o+  Adjust the Blue graph so that there is a strong blue
  1829.              presence on the left side of the graph, and none on the
  1830.              left, or in the middle.
  1831.  
  1832.           You now have a transformation that will take greyscale
  1833.           images and display them in pseudo-color, using a
  1834.           'temperature' color scheme.  Neato!
  1835.  
  1836.  
  1837.         SSSSeeeeccccttttiiiioooonnnn 5555....5555:::: TTTThhhheeee CCCCoooolllloooorrrr EEEEddddiiiittttoooorrrr CCCCoooonnnnttttrrrroooollllssss
  1838.           These buttons provide general control over the whole _x_v
  1839.           _c_o_l_o_r _e_d_i_t_o_r window.  You can display the image with or
  1840.           without color modification, save and recall presets, and
  1841.           undo/redo changes.  Also, convenience controls are given for
  1842.  
  1843.  
  1844.  
  1845.      Page 28                                         (printed 3/16/94)
  1846.  
  1847.  
  1848.  
  1849.  
  1850.  
  1851.  
  1852.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  1853.  
  1854.  
  1855.  
  1856.           performing some of the most common operations on the
  1857.           Intensity graph.
  1858.  
  1859.  
  1860.           AAAAppppppppllllyyyy  (Keyboard equivalent 'p')
  1861.                Displays the image using the current HSV and RGB
  1862.                Modifications.  Also turns the 'Display with HSV/RGB
  1863.                mods' checkbox on.  (See below.)
  1864.  
  1865.                This is only useful when the 'Auto-apply HSV/RGB mods'
  1866.                checkbox is off.
  1867.  
  1868.  
  1869.           NNNNooooMMMMoooodddd
  1870.                Displays the image without any HSV or RGB
  1871.                Modifications.  Also turns the 'Display with HSV/RGB
  1872.                mods' checkbox off.
  1873.  
  1874.  
  1875.           RRRReeeesssseeeetttt  (Keyboard equivalent 'R')
  1876.                Resets all HSV and RGB controls to their default
  1877.                settings.  Doesn't affect the Colormap Editing tool.
  1878.  
  1879.  
  1880.           UUUUnnnnddddoooo Undoes the last change to the HSV or RGB controls.
  1881.  
  1882.                It may be helpful to think of _x_v as maintaining a
  1883.                series of 32 'snapshots' of the HSV and RGB controls.
  1884.                You are normally looking at the last frame in this
  1885.                series.  The UUUUnnnnddddoooo control moves you backwards in the
  1886.                series.
  1887.  
  1888.  
  1889.           RRRReeeeddddoooo Only available after you've hit Undo.  Moves you
  1890.                forward in the 'snapshot' series described above.  Note
  1891.                that if you have hit UUUUnnnnddddoooo a few times (i.e., you're now
  1892.                looking at some frame in the middle of the series), and
  1893.                you change an HSV or RGB control, all subsequent frames
  1894.                in the series are thrown away, and the current state
  1895.                becomes that last frame in the series.
  1896.  
  1897.  
  1898.           1111,,,,2222,,,,3333,,,,4444
  1899.                Pressing any of these buttons recalls a preset (a
  1900.                complete set of values for the HSV and RGB controls).
  1901.  
  1902.  
  1903.           SSSSeeeetttt  Used in conjunction with the RRRReeeesssseeeetttt,,,,1111,,,,2222,,,,3333,,,,4444 buttons to
  1904.                store the current settings of the HSV and RGB controls
  1905.                into a preset.  To do so, press the SSSSeeeetttt button, and
  1906.                then press one of the RRRReeeesssseeeetttt,,,,1111,,,,2222,,,,3333,,,,4444 buttons.  The
  1907.                current HSV and RGB control settings will be stored in
  1908.  
  1909.  
  1910.  
  1911.      Page 29                                         (printed 3/16/94)
  1912.  
  1913.  
  1914.  
  1915.  
  1916.  
  1917.  
  1918.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  1919.  
  1920.  
  1921.  
  1922.                that preset, as long as _x_v continues running.  The
  1923.                values will be lost when the program exits.  It is also
  1924.                possible to save these values permanently.  See the
  1925.                CCCCuuuuttttRRRReeeessss button (below) and "Section 9: Modifying XV
  1926.                Behavior" for more details.
  1927.  
  1928.  
  1929.           CCCCuuuuttttRRRReeeessss
  1930.                Copies the current settings of the HSV and RGB
  1931.                controls, as text, into the X server's cut buffer.  You
  1932.                can then use a text editor to paste these values into
  1933.                your '.Xdefaults' (or '.Xresources') file.  This lets
  1934.                you save the current settings 'permanently'.  See
  1935.                "Section 9: Modifying XV Behavior" for more details.
  1936.  
  1937.  
  1938.           CCCClllloooosssseeee
  1939.                This button closes the _x_v _c_o_l_o_r _e_d_i_t_o_r window.
  1940.  
  1941.  
  1942.           BBBBrrrriiiitttteeee
  1943.                Brightens the image by moving all the handles in the
  1944.                Intensity graph up by a constant amount.
  1945.  
  1946.  
  1947.           DDDDiiiimmmm  Darkens the image by moving all the handles in the
  1948.                Intensity graph down by a constant amount.
  1949.  
  1950.  
  1951.           SSSShhhhaaaarrrrpppp
  1952.                Increases the contrast of the image by moving handles
  1953.                on the left side of the Intensity graph down, and
  1954.                handles on the right side up.
  1955.  
  1956.  
  1957.           DDDDuuuullllllll Decreases the contrast of the image by moving handles
  1958.                on the left side of the Intensity graph up, and handles
  1959.                on the right side down.
  1960.  
  1961.  
  1962.           NNNNoooorrrrmmmm  (Keyboard equivalent 'N')
  1963.                Normalizes the image so that the darkest pixels in the
  1964.                image are given an intensity of '0', and the brightest
  1965.                pixels in the image are given an intensity of '255'.
  1966.                Intermediate colors are interpolated accordingly.  This
  1967.                forces the image to have the full (maximum) dynamic
  1968.                range.
  1969.  
  1970.  
  1971.           HHHHiiiissssttttEEEEQQQQ  (Keyboard equivalent 'H')
  1972.                Runs a histogram equalization algorithm on the
  1973.                currently displayed region of the image.  This is, if
  1974.  
  1975.  
  1976.  
  1977.      Page 30                                         (printed 3/16/94)
  1978.  
  1979.  
  1980.  
  1981.  
  1982.  
  1983.  
  1984.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  1985.  
  1986.  
  1987.  
  1988.                you're cropped, it will only run the algorithm on the
  1989.                cropped section.  Note, however, that the only
  1990.                modification it makes to the image is to generate a
  1991.                bizarre corrective Intensity curve.  As such, if you
  1992.                HHHHiiiissssttttEEEEQQQQ a section of the image, then UUUUnnnnCCCCrrrroooopppp, the rest of
  1993.                the image will probably not be what you'd want.  Also
  1994.                note that the histogram curve will 'go away' if you
  1995.                touch any of the handles in the Intensity graph window,
  1996.                just like a 'gamma' curve would.
  1997.  
  1998.  
  1999.           The 'Display with HSV/RGB mods' checkbox tells you whether
  2000.           or you're looking at a modified image (checked) or the
  2001.           'raw', unmodified image (unchecked).  The AAAAppppppppllllyyyy and NNNNooooMMMMoooodddd
  2002.           buttons change the setting of this checkbox, and you can
  2003.           also change the checkbox directly by clicking on it.
  2004.  
  2005.           The 'Auto-apply HSV/RGB mods' checkbox controls whether or
  2006.           not the program regenerates and redisplays the image after
  2007.           each change to an HSV or RGB control.  By default, this
  2008.           checkbox is turned on, so that you can easily see the
  2009.           results of your modifications.  However, in the case that
  2010.           you want to make a large number of changes at once, it might
  2011.           be preferable to turn automatic redisplay off for a while,
  2012.           to speed things up.
  2013.  
  2014.           The 'Auto-reset on new image' checkbox controls whether or
  2015.           not the HSV and RGB controls are RRRReeeesssseeeetttt back to their default
  2016.           values whenever a new image is loaded up.  By default, this
  2017.           is also turned on, as when you're playing with the HSV/RGB
  2018.           controls, you probably only want to affect the current
  2019.           image, and not all subsequently loaded images as well.
  2020.  
  2021.  
  2022.      SSSSEEEECCCCTTTTIIIIOOOONNNN 6666:::: TTTTHHHHEEEE LLLLOOOOAAAADDDD WWWWIIIINNNNDDDDOOOOWWWW
  2023.           The _x_v _l_o_a_d window lets you load and view images
  2024.           interactively, without specifying them on the command line
  2025.           when you start _x_v.
  2026.  
  2027.           The load window shows the contents of the current directory
  2028.           in a scrolling window.  The files will be sorted
  2029.           alphabetically, with all the directories (and symbolic links
  2030.           to directories, if your operating system supports them)
  2031.           displayed first.
  2032.  
  2033.           This list window operates in the same way that the one in
  2034.           the _x_v controls window works.  (See "Section 3.7.1:
  2035.           Operating a List Window" for details.)  In short, you can
  2036.           operate the scroll bar, drag the highlight bar around the
  2037.           window, and use the up-arrow, down-arrow, Home, End, Page
  2038.           Up, and Page Down keys on your keyboard.
  2039.  
  2040.  
  2041.  
  2042.  
  2043.      Page 31                                         (printed 3/16/94)
  2044.  
  2045.  
  2046.  
  2047.  
  2048.  
  2049.  
  2050.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  2051.  
  2052.  
  2053.  
  2054.           Whenever you click on a name in the list (or otherwise
  2055.           change the position of the highlight bar), the name of the
  2056.           highlighted file is copied to the "Load file" text entry
  2057.           region, located below the list window.  Pressing the Ok
  2058.           button (or typing <return>) will cause the program to
  2059.           attempt to load the specified file.  If the load attempt is
  2060.           successful, the load window will disappear, and the new
  2061.           image will be displayed.  Otherwise, an error message will
  2062.           be displayed, and the load window will remain visible.
  2063.  
  2064.           The BBBBrrrroooowwwwsssseeee checkbox overrides this behavior, and keeps the
  2065.           load window visible until it is explicitly closed via the
  2066.           CCCCaaaannnncccceeeellll button.  This is handy if you're using _x_v to 'wander
  2067.           around a directory tree', and plan to be using the LLLLooooaaaadddd
  2068.           command quite often.
  2069.  
  2070.           If the image is successfully loaded, its name will be added
  2071.           to the _x_v _c_o_n_t_r_o_l_s window list.  This will let you quickly
  2072.           reload it later without have to go through the _x_v _l_o_a_d
  2073.           window again.
  2074.  
  2075.           You can also load a file by double-clicking on its name in
  2076.           the file list.
  2077.  
  2078.           If the specified filename begins with a '!' or '|'
  2079.           character, the filename will be interpeted as a shell
  2080.           command to run.  The leading '!' or '|' gets stripped off,
  2081.           and the rest of the line is fed to the default system shell.
  2082.           The command is expected to generate an image in one of the
  2083.           formats that _x_v recognizes.  This image is expected to be
  2084.           the stdout of the specified command.  If the command returns
  2085.           non-zero, it is assumed that the command failed, and no
  2086.           image is loaded.  You can pipe multiple commands together.
  2087.           For example, loading "! xwd | xwdtopnm" would run _x_w_d to
  2088.           generate a window dump, pipe that to _x_w_d_t_o_p_n_m to convert it
  2089.           to a PPM file, which in turn is piped to _x_v.
  2090.  
  2091.           If the specified file is a directory, _x_v will figure that
  2092.           out and (instead of loading it) will 'cd' to that directory,
  2093.           and display its contents in the list window.
  2094.  
  2095.           Above the list window is a pop-up menu button, much like the
  2096.           DDDDiiiissssppppllllaaaayyyy MMMMooooddddeeeessss button in the _x_v _c_o_n_t_r_o_l_s window.  It normally
  2097.           displays the name of the current directory.  If you click
  2098.           this button, and hold the mouse down, the complete path will
  2099.           be shown, one directory per line.  You can go 'up' the
  2100.           directory tree any number of levels, all the way up to the
  2101.           root directory, by simply selecting a directory name in this
  2102.           list.
  2103.  
  2104.           For those who prefer the direct approach, you can simply
  2105.           type file or directory names in the "Load file" text entry
  2106.  
  2107.  
  2108.  
  2109.      Page 32                                         (printed 3/16/94)
  2110.  
  2111.  
  2112.  
  2113.  
  2114.  
  2115.  
  2116.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  2117.  
  2118.  
  2119.  
  2120.           region.  If you type a directory name and hit <return>, _x_v
  2121.           will 'cd' to that directory and display its contents in the
  2122.           list window.  If you type a file name and hit <return>, _x_v
  2123.           will attempt to load the file.  You can enter relative paths
  2124.           (relative to the currently displayed directory), absolute
  2125.           paths, and even paths that begin with a '~'.
  2126.  
  2127.           The "Load file" text entry region supports a number of
  2128.           emacs-like editing keys.
  2129.  
  2130.                Ctrl-F    moves the cursor forward one character
  2131.  
  2132.                Ctrl-B    moves the cursor backward one character
  2133.  
  2134.                Ctrl-A    moves the cursor to the beginning of the line
  2135.  
  2136.                Ctrl-E    moves the cursor to the end of the line
  2137.  
  2138.                Ctrl-D    deletes the character to the right of the
  2139.                cursor
  2140.  
  2141.                Ctrl-U    clears the entire line
  2142.  
  2143.                Ctrl-K    clears from the cursor position to the end of
  2144.                the line.
  2145.  
  2146.           If the filename is so long that it cannot be completely
  2147.           displayed in the text entry region, a thick line will appear
  2148.           on the left or right side (or both sides) of the region to
  2149.           show that "there's more over this way".
  2150.  
  2151.           Pressing the RRRReeeessssccccaaaannnn button will rescan the current
  2152.           directory.  While the contents of the current directory are
  2153.           read each time the load window is opened, it is perfectly
  2154.           possible (given a multitasking operating system) that some
  2155.           other program may add, delete, or rename files in the
  2156.           current directory.  _X_V would not know if this happened.  The
  2157.           RRRReeeessssccccaaaannnn button gives you an easy way of 'kicking' _x_v into
  2158.           looking again.
  2159.  
  2160.  
  2161.      SSSSEEEECCCCTTTTIIIIOOOONNNN 7777:::: TTTTHHHHEEEE SSSSAAAAVVVVEEEE WWWWIIIINNNNDDDDOOOOWWWW
  2162.           The _x_v _s_a_v_e window lets you write images back to disk,
  2163.           presumably after you've modified them.  You can write images
  2164.           back many different formats, not just the original format.
  2165.           WWWWaaaarrrrnnnniiiinnnngggg!!!!  Images are saved as they are currently shown (at
  2166.           the current size, with the current color modification,
  2167.           rotation, cropping, etc. applied).  The only exception to
  2168.           this rule is if you are on a 1-bit B/W display.  The fact
  2169.           that images have to be stippled in black and white in order
  2170.           to be displayed on such a screen doesn't count as
  2171.           'modification', and the file won't be saved 'as displayed'.
  2172.  
  2173.  
  2174.  
  2175.      Page 33                                         (printed 3/16/94)
  2176.  
  2177.  
  2178.  
  2179.  
  2180.  
  2181.  
  2182.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  2183.  
  2184.  
  2185.  
  2186.           You can manipulate and save full-color images on such a
  2187.           display, even if you can't really see them.
  2188.  
  2189.           For the most part, the _x_v _s_a_v_e window operates exactly like
  2190.           the _x_v _l_o_a_d window.  (See "Section 6: The Load Window" for
  2191.           details.)  Only the differences are listed here.
  2192.  
  2193.           When the window is opened, it should have the filename of
  2194.           the currently loaded file already entered into the text
  2195.           entry region.  If you change directories, or click on a file
  2196.           name in the list window, this name will be cleared and
  2197.           replaced with the new name.
  2198.  
  2199.           At the bottom of the window are a list of possible formats
  2200.           in which you can save the file.  If you click on one of
  2201.           these formats, and your filename has a recognized suffix
  2202.           (i.e., '.gif', '.GIF', '.pbm', etc.), the suffix portion of
  2203.           your filename will be replaced with the new, appropriate
  2204.           suffix for the selected format.
  2205.  
  2206.           You can pipe output from _x_v to other programs by using the
  2207.           _x_v _s_a_v_e window.  If the first character of the specified
  2208.           filename is '!' or '|', the rest of the filename is
  2209.           interpreted as a command to pipe the output to, in the
  2210.           currently selected image format.  A fine use for this
  2211.           feature is directly printing images to a PostScript printer
  2212.           by selecting 'PostScript' in the formats list, and typing
  2213.           something like "| lpr" as the filename.  In this case, _x_v
  2214.           will create a temporary file, write the PostScript to that
  2215.           file, and cat the contents of that file to the entered
  2216.           command.  _X_V will wait for the command to complete.  If the
  2217.           command completed successfully, the _x_v _s_a_v_e window will
  2218.           disappear.  If the command was unsuccessful, the window will
  2219.           remain visible.  In any event, the temporary file will be
  2220.           deleted.
  2221.  
  2222.           There is a 'Save at normal size' checkbox.  Normally, when
  2223.           you save an image, it will be saved at the current expansion
  2224.           (ie, one screen pixel will map to one image pixel in the
  2225.           saved file. Sometimes, however, it is desirable to save an
  2226.           image at its original size.  This is most relevant when
  2227.           you're viewing images larger than your screen.  By default,
  2228.           _x_v will automatically shrink images so that they fit on the
  2229.           screen.  If you save these images, you'll find that you've
  2230.           lost a lot of data, that maybe you wanted to keep.  That's
  2231.           what this checkbox is here for.  Note:  certain operations,
  2232.           such as SSSSmmmmooooooootttthhhh and DDDDiiiitttthhhheeeerrrr only affect the displayed image.
  2233.           If you choose to save an image at its normal size, these
  2234.           effects will not be in the saved image.
  2235.  
  2236.           At the bottom right side of the window there is a list of
  2237.           possible 'Color' variations to save.  Most file formats
  2238.  
  2239.  
  2240.  
  2241.      Page 34                                         (printed 3/16/94)
  2242.  
  2243.  
  2244.  
  2245.  
  2246.  
  2247.  
  2248.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  2249.  
  2250.  
  2251.  
  2252.           support different 'sub-formats' for 24-bit color, 8-bit
  2253.           greyscale, 1-bit B/W stippled, etc.  Not all of them do.
  2254.           Likewise, not all 'Color' choices are available in all
  2255.           formats.
  2256.  
  2257.           In general, the 'Color' choices do the following:
  2258.  
  2259.  
  2260.           FFFFuuuullllllll CCCCoooolllloooorrrr
  2261.                Saves the image as currently shown with all color
  2262.                modifications, cropping, rotation, flipping, resizing,
  2263.                and smoothing.  The image will be saved with all of its
  2264.                colors, even if you weren't able to display them all on
  2265.                your screen.  For example, you can load a color image
  2266.                on a 1-bit B/W display, modify it, and write it back.
  2267.                The saved image will still be full color, even though
  2268.                all you could see on your screen was some B/W-dithered
  2269.                nightmare.
  2270.  
  2271.  
  2272.           GGGGrrrreeeeyyyyssssccccaaaalllleeee
  2273.                Like Full Color, but saves the image in a greyscale
  2274.                format.
  2275.  
  2276.  
  2277.           BBBB////WWWW DDDDiiiitttthhhheeeerrrreeeedddd
  2278.                Like Full Color, but before saving the image _x_v
  2279.                generates a 1-bit-per-pixel, black-and-white dithered
  2280.                version of the image, and saves that, instead.
  2281.  
  2282.  
  2283.           RRRReeeedddduuuucccceeeedddd CCCCoooolllloooorrrr
  2284.                Saves the image as currently shown, with all color
  2285.                modifications, cropping, rotation, flipping, resizing,
  2286.                and smoothing.  The image will be saved as shown on the
  2287.                screen, with as many or few colors as _x_v was able to
  2288.                use on the display.  The major purpose of this is to
  2289.                allow special effects (color reduction) to be saved, in
  2290.                conjunction with the '-ncols' command line option.  You
  2291.                will probably never need to use this.
  2292.  
  2293.           Format notes:
  2294.  
  2295.  
  2296.           GGGGIIIIFFFF  While _x_v can read both the GIF87a and GIF89a formats,
  2297.                it will only write GIF87a.  This is in keeping with the
  2298.                GIF89 specification, which states that if you don't
  2299.                need any of the features added in GIF89 (which _x_v
  2300.                doesn't), you should continue to write GIF87, for
  2301.                greater compatibility with old GIF87-only readers.
  2302.  
  2303.                Since GIF only supports one format (up to 8 bits per
  2304.  
  2305.  
  2306.  
  2307.      Page 35                                         (printed 3/16/94)
  2308.  
  2309.  
  2310.  
  2311.  
  2312.  
  2313.  
  2314.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  2315.  
  2316.  
  2317.  
  2318.                pixel, with a colormap), there will be no size
  2319.                difference between a Full Color and a Greyscale image.
  2320.                A B/W Dithered image, on the other hand, will be
  2321.                considerably smaller.
  2322.  
  2323.  
  2324.           PPPPMMMM   Full Color images are saved in the 3-plane, 1-band,
  2325.                PM_C format.  Greyscale and B/W Dithered images are
  2326.                both saved in the 1-plane, 1-band, PM_C format.  As
  2327.                such, there is no size advantage to saving in the B/W
  2328.                Dithered format.
  2329.  
  2330.  
  2331.           PPPPBBBBMMMM ((((rrrraaaawwww))))
  2332.                Full Color images are saved in PPM format.  Greyscale
  2333.                images are saved in PGM format.  B/W Dithered images
  2334.                are saved in PBM format.  Each of these formats are
  2335.                tailored to the data that they save, so PPM images are
  2336.                larger than PGM images, which are in turn larger than
  2337.                PBM images.
  2338.  
  2339.                In the raw variation of the PBM formats, the header
  2340.                information is written in plain ASCII text, and the
  2341.                image data is written as binary data.  This is the more
  2342.                popular of the two dialects of PBM.
  2343.  
  2344.  
  2345.           PPPPBBBBMMMM ((((aaaasssscccciiiiiiii))))
  2346.                Like PBM (raw), only the image data is written as ASCII
  2347.                text.  As such, images written in this format will be
  2348.                several times larger than images written in PBM (raw).
  2349.                This is a pretty good format for interchange between
  2350.                systems because it is easy to parse.  Also, since they
  2351.                are pure, printable ASCII text, images saved in this
  2352.                format can be mailed, without going through a
  2353.                _u_u_e_n_c_o_d_e-like program.
  2354.  
  2355.                Note that _x_v-produced PBM files may break some PBM
  2356.                readers that do not correctly parse comments.  If your
  2357.                PBM reader cannot parse comments, you can easily edit
  2358.                the PBM file and remove the comment lines.  A comment
  2359.                is everything from a "#" character to the end of the
  2360.                line.
  2361.  
  2362.  
  2363.           XXXX11111111 BBBBiiiittttmmmmaaaapppp
  2364.                Saves files in the format used by the _b_i_t_m_a_p program,
  2365.                which is part of the standard X11 distribution.  Since
  2366.                bitmap files are inherently 1-bit per pixel, you can
  2367.                only select the B/W Dithered option for this format.
  2368.  
  2369.  
  2370.  
  2371.  
  2372.  
  2373.      Page 36                                         (printed 3/16/94)
  2374.  
  2375.  
  2376.  
  2377.  
  2378.  
  2379.  
  2380.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  2381.  
  2382.  
  2383.  
  2384.           SSSSuuuunnnn RRRRaaaasssstttteeeerrrrffffiiiilllleeee
  2385.                Full/Reduced Color images are stored in a 24-bit RGB
  2386.                format, Greyscale images are stored in an 8-bit
  2387.                greyscale format, and B/W Dithered images are stored in
  2388.                a 1-bit B/W format.
  2389.  
  2390.  
  2391.           PPPPoooossssttttSSSSccccrrrriiiipppptttt
  2392.                Full/Reduced Color images are stored in a 24-bit RGB
  2393.                format, Greyscale images are stored in an 8-bit
  2394.                greyscale format, and B/W Dithered images are stored in
  2395.                a 1-bit B/W format.
  2396.  
  2397.                _X_V writes Encapsulated PostScript, so you can
  2398.                incorporate _x_v-generated PostScript into many desktop-
  2399.                publishing programs.  _X_V also prepends some color-to-
  2400.                greyscale code, so even if your printer doesn't support
  2401.                color, you can still print 'color' PostScript images.
  2402.                These images will be three times larger (in file size)
  2403.                than their greyscale counterparts, so it's a good idea
  2404.                to save Greyscale PostScript, unless you know you may
  2405.                be printing the file on a color printer at some point.
  2406.  
  2407.                Also, you should probably never need to generate B/W
  2408.                Dithered PostScript, as every PostScript printer I've
  2409.                ever heard of can print greyscale images.  The only
  2410.                valid cases I can think of are: A) doing it for a
  2411.                special effect, and B) doing it to generate a much
  2412.                smaller (roughly 1/8th the size) PostScript file.
  2413.  
  2414.                Note: When you try to save a PostScript file, the _x_v
  2415.                _p_o_s_t_s_c_r_i_p_t window will pop up to let you specify how
  2416.                you want the image printed.  (See "Section 8: The
  2417.                PostScript Window", for details.)
  2418.  
  2419.  
  2420.           JJJJPPPPEEEEGGGG _X_V writes files in the JFIF format created by the
  2421.                Independent JPEG Group.  Full/Reduced Color images are
  2422.                written in a 24-bit RGB format, and Greyscale images
  2423.                are written in an 8-bit greyscale format.  B/W Dithered
  2424.                images should not be used, as they will probably wind
  2425.                up being larger than Greyscale versions of the same
  2426.                images, due to the way JPEG works.  Note:  You cannot
  2427.                write Reduced Color JPEG files.  If you attempt to, a
  2428.                Full Color JPEG file will be saved.
  2429.  
  2430.                When you save in the JPEG format, a dialog box will pop
  2431.                up and ask you for a quality setting.  '75%' is the
  2432.                default value, and really, it's a fine value.  You
  2433.                shouldn't have to change it unless you're specifically
  2434.                trying to trade off quality for compression, or vice
  2435.                versa.  The useful range of values is 5%-95%.
  2436.  
  2437.  
  2438.  
  2439.      Page 37                                         (printed 3/16/94)
  2440.  
  2441.  
  2442.  
  2443.  
  2444.  
  2445.  
  2446.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  2447.  
  2448.  
  2449.  
  2450.           TTTTIIIIFFFFFFFF Full/Reduced Color images are written in a 24-bit RGB
  2451.                format, Greyscale images are written in an 8-bit
  2452.                greyscale format, and B/W Dithered images are written
  2453.                in a 1-bit B/W format.
  2454.  
  2455.                When you save in the TIFF format, a dialog box will pop
  2456.                up and ask you which type of image compression it
  2457.                should use.  NNNNoooonnnneeee, LLLLZZZZWWWW, and PPPPaaaacccckkkkBBBBiiiittttssss compression types
  2458.                are available for Full/Reduced Color, Greyscale, and
  2459.                B/W Dithered modes.  In addition, there are two B/W
  2460.                Dithered-only algorithms, CCCCCCCCIIIITTTTTTTT GGGGrrrroooouuuupppp3333 and CCCCCCCCIIIITTTTTTTT
  2461.                GGGGrrrroooouuuupppp4444.
  2462.  
  2463.  
  2464.      SSSSEEEECCCCTTTTIIIIOOOONNNN 8888:::: TTTTHHHHEEEE PPPPOOOOSSSSTTTTSSSSCCCCRRRRIIIIPPPPTTTT WWWWIIIINNNNDDDDOOOOWWWW
  2465.           The _x_v _p_o_s_t_s_c_r_i_p_t window lets you describe how your image
  2466.           should look when printed.  You can set the paper size and
  2467.           the image size, position the image on the paper, and print
  2468.           in 'portrait' or 'landscape' mode.
  2469.  
  2470.           The majority of the _x_v _p_o_s_t_s_c_r_i_p_t window is taken up by a
  2471.           window that shows a white rectangle (the page) with a black
  2472.           rectangle (the image) positioned on it.  You can position
  2473.           the image rectangle anywhere on the page.  The only
  2474.           constraint is that the center of the image (where the two
  2475.           diagonal lines meet) must remain on the page.  Only the
  2476.           portion of the image that is on the page will actually be
  2477.           printed.
  2478.  
  2479.           The image can be (roughly) positioned on the page by
  2480.           clicking in the image rectangle and dragging it around.  As
  2481.           you move the image, the "Top" and "Left" position displays
  2482.           will show the size of the top and left margins (the distance
  2483.           between the top-left corner of the page and the top-left
  2484.           corner of the image).
  2485.  
  2486.           You'll note that you have limited placement resolution with
  2487.           the mouse.  If you want to fine-position the image, you can
  2488.           use the arrow keys to move the image around.  The arrow keys
  2489.           will move the image in .001" increments.  You can hold them
  2490.           down, and they will auto-repeat.  You can also hold a
  2491.           <shift> key down while using the arrow keys.  This will move
  2492.           the image in .01" increments.
  2493.  
  2494.           You can change the size of the printed image by adjusting
  2495.           the "Width" or "Height" dials.  Normally, the dials are
  2496.           locked together, to keep the aspect ratio of the image
  2497.           constant.  You can unlock the dials by turning the off the
  2498.           checkbox located below the dials.  As you change the dials,
  2499.           the size of the image (when printed) is displayed below, in
  2500.           inches and in millimeters.  The current resolution of the
  2501.           image is also displayed below.  The "Resolution" numbers
  2502.  
  2503.  
  2504.  
  2505.      Page 38                                         (printed 3/16/94)
  2506.  
  2507.  
  2508.  
  2509.  
  2510.  
  2511.  
  2512.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  2513.  
  2514.  
  2515.  
  2516.           tell you how many image pixels will be printed per inch.
  2517.  
  2518.           Located below the 'page' rectangle are a set of radio
  2519.           buttons that let you specify the current paper size (8.5" x
  2520.           11", 8.5" x 14", 11" x 17", A4, B5, 4"x5", and 35mm), and
  2521.           orientation (Portrait and Landscape).
  2522.  
  2523.           The Center button will center the image on the page.  The
  2524.           Maxpect button will make the image as large as possible
  2525.           (maintaining half-inch margins on all sides) without
  2526.           changing the aspect ratio.
  2527.  
  2528.           There are a pair of small buttons located next to the "Left"
  2529.           and "Top" displays.  Clicking the "Left" one will cycle
  2530.           between displaying the "Left" margin, the "Right" margin,
  2531.           and the "Center X" position (the distance from the left edge
  2532.           of the paper to the center of the image).
  2533.  
  2534.           Clicking the "Top" display's button will cycle between
  2535.           displaying the size of the "Top" margin, the size of the
  2536.           "Bottom" margin, and the "Center Y" position (the distance
  2537.           from the top edge of the paper to the center of the image).
  2538.  
  2539.           At the top of the _x_v _p_o_s_t_s_c_r_i_p_t window are a pair of
  2540.           checkboxes.  The "preview" checkbox lets you specify whether
  2541.           or not to include a b/w preview of the image in the
  2542.           PostScript file.  Certain desktop publishing programs may
  2543.           make use of such a preview.
  2544.  
  2545.           The 'compress' checkbox lets you specify whether or not to
  2546.           generate compressed 8-bit PostScript.  This is particularly
  2547.           handy if you're generating color PostScript as color
  2548.           PostScript files are normally three times larger than their
  2549.           greyscale counterparts.  Compression can shrink these color
  2550.           PostsScript files by a factor of 4:1.  It has a lesser
  2551.           effect on greyscale images.  It should be noted, however,
  2552.           that compressed PostScript files may take 2-3 times longer
  2553.           to print than uncompressed PostScript files. However, if you
  2554.           are connected to your laser printer via a slow 9600 baud
  2555.           serial line, the decreased transmission time due to
  2556.           compressed data may more than make up for the increased
  2557.           execution time.  You'll have to decide for yourself.
  2558.  
  2559.           Click the "Ok" button when you're finished with the _x_v
  2560.           _p_o_s_t_s_c_r_i_p_t window.  If everything is successful, the _x_v
  2561.           _p_o_s_t_s_c_r_i_p_t and the _x_v _s_a_v_e window will both close.  If _x_v
  2562.           was unable to write the PostScript file, the _x_v _p_o_s_t_s_c_r_i_p_t
  2563.           window will close, but the _x_v _s_a_v_e window will remain open,
  2564.           to give you a chance to enter a different filename.
  2565.  
  2566.  
  2567.      SSSSEEEECCCCTTTTIIIIOOOONNNN 9999:::: MMMMOOOODDDDIIIIFFFFYYYYIIIINNNNGGGG XXXXVVVV BBBBEEEEHHHHAAAAVVVVIIIIOOOORRRR
  2568.  
  2569.  
  2570.  
  2571.      PPPPaaaaggggeeee 33339999                                         ((((pppprrrriiiinnnntttteeeedddd 3333////11116666////99994444))))
  2572.  
  2573.  
  2574.  
  2575.  
  2576.  
  2577.  
  2578.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  2579.  
  2580.  
  2581.  
  2582.           _X_V supports literally dozens of command line options and X11
  2583.           resources.  Fortunately, it is doubtful that you'll ever
  2584.           need to use more than a small few.  The rest are provided
  2585.           mainly for that 'one special case' application of _x_v...
  2586.  
  2587.  
  2588.         SSSSeeeeccccttttiiiioooonnnn 9999....1111:::: CCCCoooommmmmmmmaaaannnndddd LLLLiiiinnnneeee OOOOppppttttiiiioooonnnnssss OOOOvvvveeeerrrrvvvviiiieeeewwww
  2589.           If you start _x_v with the command 'xv -help', the current
  2590.           list of options will be displayed:
  2591.  
  2592.                xv [-] [-2xlimit] [-aspect _w:_h] [-bg _c_o_l_o_r] [-black
  2593.                _c_o_l_o_r]
  2594.                [-bw _w_i_d_t_h] [-cegeometry _g_e_o_m] [-cemap] [-cgeometry
  2595.                _g_e_o_m]
  2596.                [-clear] [-cmap] [-cursor _c_h_a_r#] [-DEBUG _l_e_v_e_l]
  2597.                [-display _d_i_s_p] [-dither] [-expand _e_x_p] [-fg _c_o_l_o_r]
  2598.                [-fixed] [-geometry _g_e_o_m] [-help] [-hi _c_o_l_o_r] [-hsv]
  2599.                [-igeometry _g_e_o_m] [-imap] [-keeparound] [-lo _c_o_l_o_r] [-
  2600.                max]
  2601.                [-maxpect] [-mono] [-ncols _n_c] [-nglobal] [-ninstall]
  2602.                [-nopos] [-noqcheck] [-owncmap] [-perfect] [-quit] [-
  2603.                rbg _c_o_l_o_r]
  2604.                [-rfg _c_o_l_o_r] [-rgb] [-rmode _m_o_d_e] [-_r_o_o_t] [-_r_w] [-
  2605.                _s_l_o_w_2_4]
  2606.                [-_s_m_o_o_t_h] [-_v_i_s_u_a_l _t_y_p_e] [-_w_a_i_t _s_e_c_o_n_d_s] [-_w_h_i_t_e _c_o_l_o_r]
  2607.                [-_w_l_o_o_p] [-_n_o_r_e_s_e_t_r_o_o_t] [-_b_r_o_w_s_e] [-_n_o_s_t_a_t] [-_b_e_s_t_2_4]
  2608.                [-_q_u_i_c_k_2_4]
  2609.                [-_c_e_c_m_a_p] [-_c_r_o_p] [-_r_v] [-_n_o_l_i_m_i_t_s] [-_l_o_a_d_c_l_e_a_r]
  2610.                [_f_i_l_e_n_a_m_e ...]
  2611.  
  2612.  
  2613.         SSSSeeeeccccttttiiiioooonnnn 9999....2222:::: GGGGeeeennnneeeerrrraaaallll OOOOppppttttiiiioooonnnnssss
  2614.           -help
  2615.                Print usage instructions, listing the current available
  2616.                command-line options.  Any unrecognized option will do
  2617.                this as well.
  2618.  
  2619.  
  2620.           -display _d_i_s_p
  2621.                Specifies the display that _x_v should attempt to connect
  2622.                to.  If you don't specify a display, _x_v will use the
  2623.                environment variable $_D_I_S_P_L_A_Y.
  2624.  
  2625.  
  2626.           -fg _c_o_l_o_r  (Resource name: foreground _s_t_r_i_n_g)
  2627.                Sets the foreground color used by the windows.
  2628.  
  2629.  
  2630.           -bg _c_o_l_o_r  (Resource name: background _s_t_r_i_n_g)
  2631.                Sets the background color used by the windows.
  2632.  
  2633.  
  2634.  
  2635.  
  2636.  
  2637.      Page 40                                         (printed 3/16/94)
  2638.  
  2639.  
  2640.  
  2641.  
  2642.  
  2643.  
  2644.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  2645.  
  2646.  
  2647.  
  2648.           -hi _c_o_l_o_r  (Resource name: highlight _s_t_r_i_n_g)
  2649.                Sets the highlight color used for the top-left edges of
  2650.                the control buttons.
  2651.  
  2652.  
  2653.           -lo _c_o_l_o_r  (Resource name: lowlight _s_t_r_i_n_g)
  2654.                Sets the lowlight color used for the bottom-right edges
  2655.                of the control buttons, and also the background of some
  2656.                windows.
  2657.  
  2658.  
  2659.           -bw _b_w_i_d_t_h  (Resource name: borderWidth _i_n_t_e_g_e_r)
  2660.                Sets the width of the border on the windows.  Your
  2661.                window manager may choose to ignore this, however.
  2662.  
  2663.  
  2664.         SSSSeeeeccccttttiiiioooonnnn 9999....3333:::: IIIImmmmaaaaggggeeee SSSSiiiizzzziiiinnnngggg OOOOppppttttiiiioooonnnnssss
  2665.           -geometry _g_e_o_m  (Resource name: geometry _s_t_r_i_n_g)
  2666.                Lets you specify the size and placement of the 'image'
  2667.                window.  It's most useful when you only specify a
  2668.                position, and let _x_v choose the size.  If you specify a
  2669.                size as well, _x_v will create a window of that size,
  2670.                unless -fixed is specified.  The geom argument is in
  2671.                the form of a normal X geometry string (e.g. "300x240"
  2672.                or "+10+10" or "400x300+10+10").
  2673.  
  2674.  
  2675.           -fixed  (Resource name: fixed _b_o_o_l_e_a_n)
  2676.                Only used in conjunction with the -geometry option.  If
  2677.                you specify a window size with the -geometry option, _x_v
  2678.                will normally stretch the picture to exactly that size.
  2679.                This is not always desirable, as it may seriously
  2680.                distort the aspect ratio of the picture.  Specifying
  2681.                the -fixed option corrects this behavior by instructing
  2682.                _x_v to use the specified geometry size as a maximum
  2683.                window size.  It will, however, preserve the original
  2684.                aspect ratio of the picture.
  2685.  
  2686.                For example, if you give a rectangular geometry of
  2687.                '320x240', and you try to display a square picture with
  2688.                a size of '256x256', the window opened will actually be
  2689.                '240x240', which is the largest square that still fits
  2690.                in the '320x240' rectangle that was specified.
  2691.  
  2692.  
  2693.           -expand _e_x_p  (Resource name: expand  _f_l_o_a_t_i_n_g-_p_o_i_n_t)
  2694.                Lets you specify an initial expansion or compression
  2695.                factor for the picture.  You can specify floating-point
  2696.                values.  Values larger than zero multiply the picture's
  2697.                dimensions by the given factor.  (i.e., an expand
  2698.                factor of '3' will make a 320x200 image display as
  2699.                960x600).
  2700.  
  2701.  
  2702.  
  2703.      Page 41                                         (printed 3/16/94)
  2704.  
  2705.  
  2706.  
  2707.  
  2708.  
  2709.  
  2710.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  2711.  
  2712.  
  2713.  
  2714.                Factors less than zero are treated as reciprocals.
  2715.                (i.e., an expand factor of '-4' makes the picture 1/4th
  2716.                its normal size.).  '0' is not a valid expansion
  2717.                factor.
  2718.  
  2719.  
  2720.           -aspect _w:_h  (Resource name: aspect _s_t_r_i_n_g)
  2721.                Lets you set an initial aspect ratio, and also sets the
  2722.                value used by the AAAAssssppppeeeecccctttt control.  The aspect ratio of
  2723.                nearly every X display (and, in fact, any civilized
  2724.                graphics display) is 1:1.  What this means is that
  2725.                pixels appear to be 'square'.  A 100 pixel wide by 100
  2726.                pixel high box will appear on the screen as a square.
  2727.                Unfortunately, this is not the case with some screens
  2728.                and digitizers.  The -aspect option lets you stretch
  2729.                the picture so that the picture appears correctly on
  2730.                your display.  Unlike the other size-related options,
  2731.                this one doesn't care what the size of the overall
  2732.                picture is.  It operates on a pixel-by-pixel basis,
  2733.                stretching each image pixel slightly, in either width
  2734.                or height, depending on the ratio.
  2735.  
  2736.                Aspect ratios greater than '1:1' (e.g., '4:3') make the
  2737.                picture wider than normal.  Aspect ratios less than
  2738.                '1:1' (e.g. '2:3') make the picture taller than normal.
  2739.                (Useful aspect ratio: A 512x480 image that was supposed
  2740.                to fill a standard 4x3 video screen (produced by many
  2741.                video digitizers) should be displayed with an aspect
  2742.                ratio of '5:4')
  2743.  
  2744.  
  2745.         SSSSeeeeccccttttiiiioooonnnn 9999....4444:::: CCCCoooolllloooorrrr AAAAllllllllooooccccaaaattttiiiioooonnnn OOOOppppttttiiiioooonnnnssss
  2746.           -ncols _n_c  (Resource name: ncols _i_n_t_e_g_e_r)
  2747.                Sets the maximum number of colors that _x_v will use.
  2748.                Normally, this is set to 'as many as it can get'.
  2749.                However, you can set this to smaller values for
  2750.                interesting effect.  Most notably, if you set it to
  2751.                '0', it will display the picture by dithering with
  2752.                'black' and 'white'.  (The actual colors used can be
  2753.                set by the -black and -white options, below.)
  2754.  
  2755.  
  2756.           -nglobal (Resource name: nglobal _b_o_o_l_e_a_n)
  2757.                Adjusts the way the program behaves when it is unable
  2758.                to get all the colors it requested.  Normally, it will
  2759.                search the display's default colormap, and 'borrow' any
  2760.                colors it deems appropriate.  These borrowed colors
  2761.                are, however, not owned by _x_v, and as such, can changed
  2762.                without _x_v'_s permission, or knowledge.  If this
  2763.                happens, the displayed picture will change, in a less-
  2764.                than-desirable direction.  If you specify the -nglobal
  2765.                option, _x_v will not use 'global' colors.  It will only
  2766.  
  2767.  
  2768.  
  2769.      Page 42                                         (printed 3/16/94)
  2770.  
  2771.  
  2772.  
  2773.  
  2774.  
  2775.  
  2776.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  2777.  
  2778.  
  2779.  
  2780.                use colors that it successfully allocated, which makes
  2781.                it immune to any color changes.
  2782.  
  2783.                It should be noted that 'use global colors' is the
  2784.                default because color changes aren't generally a
  2785.                problem if you are only using _x_v to display a picture
  2786.                for a short time.  Color changes only really become a
  2787.                problem if you use _x_v to display a picture that you
  2788.                will be keeping around for a while, while you go and do
  2789.                some other work (such as using _x_v to display a
  2790.                background).  In such cases you will want to specify
  2791.                -nglobal.  Note: using the -ncols or -root options
  2792.                automatically turn on -nglobal.
  2793.  
  2794.  
  2795.           -rw  (Resource name: rwColor _b_o_o_l_e_a_n)
  2796.                Tells _x_v to use read/write color cells.  Normally, _x_v
  2797.                allocates colors read-only, which allows it to share
  2798.                colors with other programs.  If you use read/write
  2799.                color cells, no other program can use the colors that
  2800.                _x_v is using, and vice-versa.  The only reason you'd do
  2801.                such a thing is that using read/write color cells
  2802.                allows the Apply function in the _x_v _c_o_l_o_r _e_d_i_t_o_r window
  2803.                to operate much faster.
  2804.  
  2805.  
  2806.           -perfect  (Resource name: perfect _b_o_o_l_e_a_n)
  2807.                Makes _x_v try 'extra hard' to get all the colors it
  2808.                wants.  In particular, when -perfect is specified, _x_v
  2809.                will allocate and install its own colormap if (and only
  2810.                if) it was unable to allocate all the desired colors.
  2811.                This option is not allowed in conjunction with the
  2812.                -root option.
  2813.  
  2814.  
  2815.           -owncmap  (Resource name: ownCmap _b_o_o_l_e_a_n)
  2816.                Like '-perfect', only this option forces _x_v to always
  2817.                allocate and install its own colormap, thereby leaving
  2818.                the default colormap untouched.
  2819.  
  2820.  
  2821.           -cecmap  (Resource name: ceditColorMap _b_o_o_l_e_a_n)
  2822.                Specifies whether _x_v installs the image's colormap in
  2823.                the _x_v _c_o_l_o_r _e_d_i_t_o_r window, as well as in the image's
  2824.                window.  By default, the program does install the
  2825.                colormap in the color editor window, however this can
  2826.                occasionally make the color editor window unreadable.
  2827.                (This option only apples when the '-perfect' or '-
  2828.                owncmap' options create their own colormaps.)
  2829.  
  2830.  
  2831.           -ninstall  (Resource name: ninstall _b_o_o_l_e_a_n)
  2832.  
  2833.  
  2834.  
  2835.      Page 43                                         (printed 3/16/94)
  2836.  
  2837.  
  2838.  
  2839.  
  2840.  
  2841.  
  2842.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  2843.  
  2844.  
  2845.  
  2846.                Prevents _x_v from 'installing' its own colormap, when
  2847.                the -perfect or -owncmap options are in effect.
  2848.                Instead of installing the colormap, it will merely 'ask
  2849.                the window manager, nicely' to take care of it.  This
  2850.                is the correct way to install a colormap (i.e., ask the
  2851.                WM to do it), unfortunately, it doesn't actually seem
  2852.                to work in many window managers, so the default
  2853.                behavior is for _x_v to handle installation itself.
  2854.                However, this has been seen to annoy one window manager
  2855.                (_d_x_w_m), so this option is provided if your WM doesn't
  2856.                like programs installing their own colormaps.
  2857.  
  2858.  
  2859.         SSSSeeeeccccttttiiiioooonnnn 9999....5555:::: 22224444----bbbbiiiitttt CCCCoooonnnnvvvveeeerrrrssssiiiioooonnnn OOOOppppttttiiiioooonnnnssss
  2860.           The following options only come into play if you are using
  2861.           _x_v to display 24-bit RGB data (PPM files, color PM files,
  2862.           JPEG files, the output of _b_g_g_e_n, etc.).  They have no effect
  2863.           whatsoever on how GIF pictures or 8-bit greyscale images are
  2864.           displayed.
  2865.  
  2866.  
  2867.           -quick24  (Resource name: quick24 _b_o_o_l_e_a_n)
  2868.                Forces _x_v to use the 'quick' 24-bit to 8-bit conversion
  2869.                algorithm.  This algorithm dithers the picture using a
  2870.                fixed set of colors that span the entire RGB
  2871.                colorspace.  In versions of _x_v prior to 2.10, this was
  2872.                the default algorithm.  It no longer is.
  2873.  
  2874.  
  2875.           -slow24  (Resource name: slow24 _b_o_o_l_e_a_n)
  2876.                Specifies that the 'slow' 24-bit to 8-bit conversion
  2877.                algorithm is to be used by the program.  This algorithm
  2878.                uses a version of Heckbert's median cut algorithm to
  2879.                pick the 'best' colors on a per-image basis, and
  2880.                dithers with those.  This is the current default
  2881.                conversion algorithm.
  2882.  
  2883.                Advantages: The -slow24 algorithm often produces better
  2884.                looking pictures than the -quick24 algorithm.
  2885.  
  2886.                Disadvantages: The -slow24 algorithm is about half the
  2887.                speed of the -quick24 algorithm.  Also, since the
  2888.                colors are chosen on a per-image basis, it can't be
  2889.                used to display multiple images simultaneously, as each
  2890.                image will almost certainly want a different set of 256
  2891.                colors.  The -quick24 algorithm, however, uses the same
  2892.                exact colors for all images, so it can display many
  2893.                images simultaneously, without running out of colors.
  2894.  
  2895.  
  2896.           -best24  (Resource name: best24 _b_o_o_l_e_a_n)
  2897.                Forces _x_v to use the same algorithm used in the program
  2898.  
  2899.  
  2900.  
  2901.      Page 44                                         (printed 3/16/94)
  2902.  
  2903.  
  2904.  
  2905.  
  2906.  
  2907.  
  2908.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  2909.  
  2910.  
  2911.  
  2912.                _p_p_m_q_u_a_n_t, written by Jef Poskanzer.  This algorithm
  2913.                also uses a version of Heckbert's median cut algorithm,
  2914.                but is capable of picking 'better' colors than the
  2915.                -slow24 algorithm, and it _d_o_e_s_n'_t dither.
  2916.  
  2917.                Advantages:  Generally produces slightly better images
  2918.                than the -slow24 algorithm.  Also, the images are
  2919.                undithered, so they look better when expanded.
  2920.  
  2921.                Disadvantages:  _M_u_c_h slower than the -slow24 algorithm.
  2922.                Like, 5 to 10 times slower.  The images produced aren't
  2923.                _t_h_a_t much better than those produced by the -slow24
  2924.                algorithm.
  2925.  
  2926.  
  2927.           -noqcheck  (Resource name: noqcheck _b_o_o_l_e_a_n)
  2928.                Turns off a 'quick check' that is normally made.
  2929.                Normally, before running either of the 24-bit to 8-bit
  2930.                conversion algorithms, _x_v determines whether the
  2931.                picture to be displayed has more than 256 unique colors
  2932.                in it.  If the picture doesn't, it will treat the
  2933.                picture as an 8-bit colormapped image (i.e., GIF), and
  2934.                won't run either of the conversion algorithms.
  2935.  
  2936.                Advantages: The pictures will be displayed 'perfectly',
  2937.                whereas if they went through either of the conversion
  2938.                algorithms, they'd be dithered.
  2939.  
  2940.                Disadvantages: Often uses a lot of colors, which limits
  2941.                the ability to view multiple images at once.  (See the
  2942.                -slow24 option above for further info about color
  2943.                sharing.)
  2944.  
  2945.  
  2946.         SSSSeeeeccccttttiiiioooonnnn 9999....6666:::: RRRRooooooootttt WWWWiiiinnnnddddoooowwww OOOOppppttttiiiioooonnnnssss
  2947.           _x_v has the ability to display images on the root window of
  2948.           an X display, rather than opening its own window (the
  2949.           default behavior).  When using the root window, the program
  2950.           is somewhat limited, because the program cannot receive
  2951.           input events (key press and mouse clicks) from the root
  2952.           window.  As a result, you cannot track pixel values, or
  2953.           crop, nor can you use keyboard commands while the mouse is
  2954.           in the root window.
  2955.  
  2956.  
  2957.           -root  (Resource name:  <none>)
  2958.                Directs _x_v to display images in the root window,
  2959.                instead of opening its own window.  Exactly how the
  2960.                images will be displayed in the root window is
  2961.                determined by the setting of the -rmode option.
  2962.  
  2963.  
  2964.  
  2965.  
  2966.  
  2967.      Page 45                                         (printed 3/16/94)
  2968.  
  2969.  
  2970.  
  2971.  
  2972.  
  2973.  
  2974.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  2975.  
  2976.  
  2977.  
  2978.           -rmode _m_o_d_e    (Resource name: rootMode _i_n_t_e_g_e_r)
  2979.                Determines how images are to be displayed on the root
  2980.                window, when -root has been specified.  You can find
  2981.                the current list of 'modes' by using a mode value of
  2982.                '-1'.  _X_V will complain, and show a list of valid
  2983.                modes.  The current list at of the time of this writing
  2984.                is:
  2985.  
  2986.                     0:   tiling
  2987.                     1:   integer tiling
  2988.                     2:   mirrored tiling
  2989.                     3:   integer mirrored tiling
  2990.                     4:   centered tiling
  2991.                     5:   centered on a solid background
  2992.                     6:   centered on a 'warp' background
  2993.                     7:   centered on a 'brick' background
  2994.  
  2995.                The default mode is '0'.  See "Section 3.5: The Display
  2996.                Modes Menu" for a description of the different display
  2997.                modes.
  2998.  
  2999.  
  3000.           -noresetroot (Resource name: resetroot)
  3001.                Normally, when changing from root to window display
  3002.                mode, the root is set to the standard X crosshatch
  3003.                pattern.  Using -noresetroot or setting resetroot to
  3004.                false will force the root to remain.  This is useful
  3005.                when comparing between different tiled images.
  3006.  
  3007.  
  3008.           -rfg _c_o_l_o_r  (Resource name: rootForeground _s_t_r_i_n_g)
  3009.                Sets the 'foreground' color used in some of the root
  3010.                display modes.
  3011.  
  3012.  
  3013.           -rbg _c_o_l_o_r  (Resource name: rootBackground _s_t_r_i_n_g)
  3014.                Sets the 'background' color used in some of the root
  3015.                display modes.
  3016.  
  3017.  
  3018.           -max  (Resource name: <none>)
  3019.                Makes _x_v automatically stretch the image to the full
  3020.                size of the screen.  This is mostly useful when you
  3021.                want _x_v to display a background.  While you could just
  3022.                as well specify the dimensions of your display ('-geom
  3023.                1152x900' for example), the -max option is display-
  3024.                independent.  If you suddenly decide to start working
  3025.                on a 1280x1024 display (ferinstance) the same command
  3026.                will still work.  Note: If you specify -max when you
  3027.                aren't using -root, the behavior is slightly different.
  3028.                The image will be made as large as possible while still
  3029.                preserving the normal aspect ratio.
  3030.  
  3031.  
  3032.  
  3033.      Page 46                                         (printed 3/16/94)
  3034.  
  3035.  
  3036.  
  3037.  
  3038.  
  3039.  
  3040.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  3041.  
  3042.  
  3043.  
  3044.           -maxpect  (Resource name: <none>)
  3045.                Makes the image as large as possible while preserving
  3046.                the aspect ratio.
  3047.  
  3048.  
  3049.           -quit  (Resource name: <none>)
  3050.                Makes _x_v display the (first) specified file and exit,
  3051.                without any user intervention.  Since images displayed
  3052.                on the root window remain there until explicitly
  3053.                cleared, this is very useful for having _x_v display
  3054.                background images on the root window in some sort of
  3055.                start-up script.  Needless to say, this is only useful
  3056.                if you are using -root.
  3057.  
  3058.  
  3059.           -clear  (Resource name: <none>)
  3060.                Clears the root window of any extraneous _x_v images.
  3061.                Note: it is not necessary to do an 'xv -clear' before
  3062.                displaying another picture in the root window.  _x_v will
  3063.                detect that there's an old image in the root window and
  3064.                automatically clear it out (and free the associated
  3065.                colors).
  3066.  
  3067.  
  3068.         SSSSeeeeccccttttiiiioooonnnn 9999....7777:::: WWWWiiiinnnnddddoooowwww OOOOppppttttiiiioooonnnnssss
  3069.           _X_V currently consists of three main windows, plus one window
  3070.           for the actual image.  These three windows (the _x_v _c_o_n_t_r_o_l_s
  3071.           window, the _x_v _i_n_f_o window, and the _x_v _c_o_l_o_r _e_d_i_t_o_r window)
  3072.           may be automatically mapped and positioned when the program
  3073.           starts.
  3074.  
  3075.  
  3076.           -cmap  (Resource name: ctrlMap _b_o_o_l_e_a_n)
  3077.                Maps the _x_v _c_o_n_t_r_o_l_s window.
  3078.  
  3079.  
  3080.           -cgeom _g_e_o_m  (Resource name: ctrlGeometry _s_t_r_i_n_g)
  3081.                Sets the initial geometry of the _x_v _c_o_n_t_r_o_l_s window.
  3082.                Note: only the position information is used.  The
  3083.                window is of fixed size.
  3084.  
  3085.  
  3086.           -imap  (Resource name: infoMap _b_o_o_l_e_a_n)
  3087.                Maps the _x_v _i_n_f_o window.
  3088.  
  3089.  
  3090.           -igeom _g_e_o_m  (Resource name: infoGeometry _s_t_r_i_n_g)
  3091.                Sets the initial geometry of the _x_v _i_n_f_o window.  Note:
  3092.                only the position information is used.  The window is
  3093.                of fixed size.
  3094.  
  3095.  
  3096.  
  3097.  
  3098.  
  3099.      Page 47                                         (printed 3/16/94)
  3100.  
  3101.  
  3102.  
  3103.  
  3104.  
  3105.  
  3106.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  3107.  
  3108.  
  3109.  
  3110.           -cemap  (Resource name: ceditMap _b_o_o_l_e_a_n)
  3111.                Maps the _x_v _c_o_l_o_r _e_d_i_t_o_r window.
  3112.  
  3113.  
  3114.           -cegeom _g_e_o_m  (Resource name: ceditGeometry _s_t_r_i_n_g)
  3115.                Sets the initial geometry of the _x_v _c_o_l_o_r _e_d_i_t_o_r
  3116.                window.  Note: only the position information is used.
  3117.                The window is of fixed size.
  3118.  
  3119.  
  3120.           -nopos  (Resource name: nopos _b_o_o_l_e_a_n)
  3121.                Turns off the 'default' positioning of the various _x_v
  3122.                windows.  Every time you open a window, you will be
  3123.                asked to position it.  (Assuming your window manager
  3124.                asks you such things.  _m_w_m, for instance doesn't seem
  3125.                to ask)
  3126.  
  3127.  
  3128.         SSSSeeeeccccttttiiiioooonnnn 9999....8888:::: MMMMiiiisssscccceeeellllllllaaaannnneeeeoooouuuussss OOOOppppttttiiiioooonnnnssss
  3129.           -mono  (Resource name: mono _b_o_o_l_e_a_n)
  3130.                Forces the image to be displayed as a greyscale.  This
  3131.                is most useful when you are using certain greyscale X
  3132.                displays.  While _x_v attempts to determine if it's
  3133.                running on a greyscale display, many X displays lie,
  3134.                and claim to be able to do color.  (This is often
  3135.                because they have color graphics boards hooked up to
  3136.                b/w monitors.  The computer, of course, has no way of
  3137.                knowing what type of monitor is attached.)  On these
  3138.                displays, if you don't specify -mono, what you will see
  3139.                is a greyscale representation of one of the RGB outputs
  3140.                of the system.  (For example, you'll see the 'red'
  3141.                output on our greyscale Sun 3/60s.) The -mono option
  3142.                corrects this behavior.
  3143.  
  3144.  
  3145.           -white _c_o_l_o_r  (Resource name: white _s_t_r_i_n_g)
  3146.                Specifies the 'white' color used when the picture is
  3147.                b/w stippled.  (When '-ncols 0' has been specified.)
  3148.  
  3149.  
  3150.           -black _c_o_l_o_r  (Resource name: black _s_t_r_i_n_g)
  3151.                Specifies the 'black' color used when the picture is
  3152.                b/w stippled.  (When '-ncols 0' has been specified.)
  3153.  
  3154.                Try something like: 'xv -ncols 0 -bl red -wh yellow
  3155.                <filename>' for some interesting, late-'60s-style
  3156.                psychodelia effects.
  3157.  
  3158.  
  3159.           -wait _s_e_c_s  (Resource name: <none>)
  3160.                Turns on a 'slide-show' feature.  Normally, if you
  3161.                specify multiple input files, _x_v will display the first
  3162.  
  3163.  
  3164.  
  3165.      Page 48                                         (printed 3/16/94)
  3166.  
  3167.  
  3168.  
  3169.  
  3170.  
  3171.  
  3172.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  3173.  
  3174.  
  3175.  
  3176.                one, and wait for you to give the NNNNeeeexxxxtttt command (or
  3177.                whatever).  The -wait option makes _x_v wait the
  3178.                specified number of seconds, and then go on to the next
  3179.                picture, without any user intervention.  The program
  3180.                still accepts commands, so it's possible to 'abort' the
  3181.                current picture without waiting the full specified time
  3182.                by using the NNNNeeeexxxxtttt command.
  3183.  
  3184.  
  3185.           -wloop  (Resource name: <none>)
  3186.                Normally, when running a slide-show with the -wait
  3187.                option, _x_v will terminate after displaying the last
  3188.                image.  If you also specify the -wloop option, the
  3189.                program will loop back to the first image and continue
  3190.                the slide-show until the user issues the Quit command.
  3191.  
  3192.  
  3193.           -rgb  (Resource name: hsvMode _b_o_o_l_e_a_n)
  3194.                Specifies that, by default, the colormap editing dials
  3195.                in the _x_v _c_o_l_o_r _e_d_i_t_o_r window should be in RGB mode.
  3196.                This is the normal default behavior.
  3197.  
  3198.  
  3199.           -hsv  (Resource name: hsvMode _b_o_o_l_e_a_n)
  3200.                Specifies that, by default, the colormap editing dials
  3201.                in the _x_v _c_o_l_o_r _e_d_i_t_o_r window should be in HSV mode.
  3202.  
  3203.  
  3204.           -dither  (Resouce name: autoDither _b_o_o_l_e_a_n)
  3205.                When specified, tells _x_v to automatically issue a
  3206.                DDDDiiiitttthhhheeeerrrr command whenever an image is first displayed.
  3207.                Useful on displays with limited color capabilities (4-
  3208.                bit and 6-bit displays.)
  3209.  
  3210.  
  3211.           -smooth  (Resource name:  autoSmooth _b_o_o_l_e_a_n)
  3212.                When specified, tells _x_v to automatically issue a
  3213.                SSSSmmmmooooooootttthhhh command whenever an image is first displayed.
  3214.                This is useful when you are using one of the image
  3215.                sizing options (such as '-expand' or '-max').
  3216.  
  3217.  
  3218.           -crop  (Resource name: autoCrop _b_o_o_l_e_a_n)
  3219.                When specified, tells _x_v to automatically issue an
  3220.                AAAAuuuuttttooooCCCCrrrroooopppp command whenever an image is first displayed.
  3221.  
  3222.  
  3223.           -visual _v_i_s_t_y_p_e  (Resource name: visual _s_t_r_i_n_g)
  3224.                Normally, _x_v uses the default visual model provided by
  3225.                your X server.  You can override this by explicitly
  3226.                selecting a visual to use.  Valid types are _S_t_a_t_i_c_G_r_a_y,
  3227.                _S_t_a_t_i_c_C_o_l_o_r, _T_r_u_e_C_o_l_o_r, _G_r_a_y_S_c_a_l_e, _P_s_e_u_d_o_C_o_l_o_r,
  3228.  
  3229.  
  3230.  
  3231.      Page 49                                         (printed 3/16/94)
  3232.  
  3233.  
  3234.  
  3235.  
  3236.  
  3237.  
  3238.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  3239.  
  3240.  
  3241.  
  3242.                 and _D_i_r_e_c_t_C_o_l_o_r.  Not all of these are necessarily
  3243.                provided on any given X display.  Run _x_d_p_y_i_n_f_o on your
  3244.                display to find out what visual types are supported.
  3245.  
  3246.  
  3247.           -cursor _c_u_r_s  (Resource name: cursor _i_n_t_e_g_e_r)
  3248.                Specifies an alternate cursor to use in the image
  3249.                window (instead of the normal 'cross' cursor).  curs
  3250.                values are obtained by finding the character number of
  3251.                a cursor you like in the 'cursor' font.  (Run 'xfd -fn
  3252.                cursor' to display the cursor font.)  For example, a
  3253.                curs value of '56' corresponds to the (singularly
  3254.                useless) 'Gumby' cursor.
  3255.  
  3256.  
  3257.           -keeparound  (Resource name: keepAround _b_o_o_l_e_a_n)
  3258.                The '-keeparound' option is now poorly named, as I've
  3259.                changed the default behavior.  Now, if you DDDDeeeelllleeeetttteeee the
  3260.                last file in the _x_v _c_o_n_t_r_o_l_s list, nothing unexpected
  3261.                will happen.  If you specify the '-keeparound' option,
  3262.                which toggles the '-keeparound' flag off, the program
  3263.                will automatically exit as a convenience.  It should
  3264.                probably be renamed '-goaway' or something...
  3265.  
  3266.  
  3267.           -2xlimit  (Resource name: 2xlimit _b_o_o_l_e_a_n)
  3268.                By default, _x_v prevents the image window from ever
  3269.                getting larger than the screen.  Unfortunately, because
  3270.                of this, if you load an image that is larger than your
  3271.                screen, the image will be shrunk until it fits on your
  3272.                screen.  Some folks find this undesirable behavior.
  3273.                Specifying the -2xlimit option doubles the size
  3274.                limitations.  The image window will be kept from
  3275.                getting larger than 2x the width and height of your
  3276.                screen.
  3277.  
  3278.                Just in case you're wondering why there's any size
  3279.                limitations: it's fairly easy to accidentally ask for a
  3280.                huge image to be generated.  Simply crop a section of
  3281.                the image, zoom so you can see the individual pixels,
  3282.                and uncrop.  If there were no size limitations, the
  3283.                (expanded many times) image could be huge, and might
  3284.                crash your X server.  At the very least, it would take
  3285.                a long period of time, and freeze your X server during
  3286.                part of it.  Generally undesirable behavior.
  3287.  
  3288.  
  3289.           -nolimits  (Resource name: nolimites  _b_o_o_l_e_a_n)
  3290.                For the truly daring, this turns off all limitations on
  3291.                the maximum size of an image window.  (Well, there's
  3292.                still an X-imposed maximum size of 64k by 64k, but that
  3293.                really shouldn't be a problem.) Warning:  as mentioned
  3294.  
  3295.  
  3296.  
  3297.      Page 50                                         (printed 3/16/94)
  3298.  
  3299.  
  3300.  
  3301.  
  3302.  
  3303.  
  3304.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  3305.  
  3306.  
  3307.  
  3308.                above, it is fairly easy to accidentally generate a
  3309.                huge image when you do an UUUUnnnnCCCCrrrroooopppp command, and you may
  3310.                well crash _x_v, your X server, the host machine, or all
  3311.                three.  Use At Your Own Risk!!!
  3312.  
  3313.  
  3314.           -rv  (Resource name: reverse)
  3315.                Makes _x_v display a 'negative' of the loaded image.
  3316.                White becomes black, and black becomes white.  Color
  3317.                images will have 'interesting' effects, as the RGB
  3318.                components are individually reversed.  For example, _r_e_d
  3319.                (255,0,0) will become _c_y_a_n (0,255,255), _y_e_l_l_o_w will
  3320.                become _b_l_u_e, and so on.
  3321.  
  3322.  
  3323.           -DEBUG _l_e_v_e_l  (Resource name: <none>)
  3324.                Turns on some debugging information.  You shouldn't
  3325.                need this.  If everything worked perfectly, I wouldn't
  3326.                need this either.
  3327.  
  3328.  
  3329.           -browse  (Resource name: browseMode _b_o_o_l_e_a_n)
  3330.                Prevents the _x_v _l_o_a_d window from being closed whenever
  3331.                you successfully load a file.  This makes 'browsing' a
  3332.                directory somewhat more pleasant.
  3333.  
  3334.  
  3335.           -nostat  (Resource name: nostat _b_o_o_l_e_a_n)
  3336.                Turns off the stat() call is is performed for each file
  3337.                whenever you change directories in the _x_v _l_o_a_d and _x_v
  3338.                _s_a_v_e windows.  This is useful if you're on a machine
  3339.                with lots of remote files mounted on it, and you find
  3340.                the directory switching to be too slow.
  3341.  
  3342.  
  3343.           -loadclear  (Resource name: clearOnLoad _b_o_o_l_e_a_n)
  3344.                If you were on a PseudoColor display, _x_v used to
  3345.                automatically clear the image window (or the root
  3346.                window, if you were in a root mode), whenever you
  3347.                loaded a new image.  This was to prevent the
  3348.                potentially annoying/confusing 'rainbow' effect that
  3349.                happens when colormap entries are freed and reallocated
  3350.                with different colors.  Ths has changed.  By default,
  3351.                _x_v no longer clears the image/root window.  This is for
  3352.                two reasons:  I've decided that the rainbow effect is
  3353.                semi-entertaining, in that it gives you something to
  3354.                look at while the next image is being loaded.
  3355.                Secondly, if you are viewing a series of images that
  3356.                have the same colors in them, it's possible for _x_v to
  3357.                animate them (by using the '-wait' command line
  3358.                option), albeit no faster than one frame every 1-2
  3359.                seconds.  For example, you can go get the satellite
  3360.  
  3361.  
  3362.  
  3363.      Page 51                                         (printed 3/16/94)
  3364.  
  3365.  
  3366.  
  3367.  
  3368.  
  3369.  
  3370.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  3371.  
  3372.  
  3373.  
  3374.                radar images from vmd.cso.uiuc.edu (in the directory
  3375.                'wx'), run 'xv -wait 0 -wloop SA*', and voila!  Just
  3376.                like the evening news!
  3377.  
  3378.  
  3379.           -    Specifying '-' all by itself tells _x_v to take its input
  3380.                from stdin, rather than from a file.  This lets you put
  3381.                _x_v on the end of a Un*x pipe.
  3382.  
  3383.  
  3384.         SSSSeeeeccccttttiiiioooonnnn 9999....9999:::: CCCCoooolllloooorrrr EEEEddddiiiittttoooorrrr RRRReeeessssoooouuuurrrrcccceeeessss
  3385.           You can set default values for all of the HSV and RGB
  3386.           modification controls in the _x_v _c_o_l_o_r _e_d_i_t_o_r window via X
  3387.           resources.  The easiest way to explain this is with an
  3388.           example.
  3389.  
  3390.  
  3391.           o+  Start _x_v and put it in the background by typing 'xv &'.
  3392.  
  3393.           o+  Type the command 'cat >foo' in an active _x_t_e_r_m window
  3394.  
  3395.           o+  Bring the _x_v _c_o_l_o_r _e_d_i_t_o_r window up.
  3396.  
  3397.           o+  Issue the CCCCuuuutttt RRRReeeessssoooouuuurrrrcccceeeessss command.
  3398.  
  3399.           o+  Click your _M_i_d_d_l_e mouse button in the _x_t_e_r_m window.  A
  3400.              set of resource lines describing the current state of the
  3401.              _x_v _c_o_l_o_r _e_d_i_t_o_r controls will be 'pasted' into the
  3402.              window.
  3403.  
  3404.           o+  You could type '<ctrl-D>' in the _x_t_e_r_m to complete the
  3405.              cat command, edit this file, and put it in your
  3406.              .Xdefaults/.Xresources file.
  3407.  
  3408.  
  3409.           The lines generated by CCCCuuuutttt RRRReeeessssoooouuuurrrrcccceeeessss will look like the
  3410.           following:
  3411.           xv.default.huemap1: 330  30  CW 330  30  CW
  3412.           xv.default.huemap2:  30  90  CW  30  90  CW
  3413.           xv.default.huemap3:  90 150  CW  90 150  CW
  3414.           xv.default.huemap4: 150 210  CW 150 210  CW
  3415.           xv.default.huemap5: 210 270  CW 210 270  CW
  3416.           xv.default.huemap6: 270 330  CW 270 330  CW
  3417.           xv.default.whtmap:  0 0 1
  3418.           xv.default.satval:  0
  3419.           xv.default.igraf: S 4 : 0,0 : 64,64 : 192,192 : 254,254
  3420.           xv.default.rgraf: S 4 : 0,0 : 64,64 : 192,192 : 254,254
  3421.           xv.default.ggraf: S 4 : 0,0 : 64,64 : 192,192 : 254,254
  3422.           xv.default.bgraf: S 4 : 0,0 : 64,64 : 192,192 : 254,254
  3423.  
  3424.           These lines completely describe one state of the _x_v _c_o_l_o_r
  3425.           _e_d_i_t_o_r controls.  There are five different states that you
  3426.  
  3427.  
  3428.  
  3429.      Page 52                                         (printed 3/16/94)
  3430.  
  3431.  
  3432.  
  3433.  
  3434.  
  3435.  
  3436.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  3437.  
  3438.  
  3439.  
  3440.           can specify via X resources.  The 'default' state (as shown)
  3441.           holds the settings used whenever the program is first
  3442.           started, and whenever the Reset command is used.  You can
  3443.           also store settings in one of the four _x_v presets (accessed
  3444.           via the '1'-'4' buttons in the _x_v _c_o_l_o_r _e_d_i_t_o_r) by changing
  3445.           the string 'default' in the above lines to 'preset1',
  3446.           'preset2', 'preset3', or 'preset4' respectively.
  3447.  
  3448.           There are four types of resource described in these lines:
  3449.           huemap, whtmap, satval, and graf.
  3450.  
  3451.  
  3452.         SSSSeeeeccccttttiiiioooonnnn 9999....9999....1111:::: HHHHuuuueeeemmmmaaaapppp RRRReeeessssoooouuuurrrrcccceeeessss
  3453.           The huemap resources describe the state of the hue remapping
  3454.           dials.  There are six huemap resources per state of the _x_v
  3455.           _c_o_l_o_r _e_d_i_t_o_r.  These huemap resources are numbered
  3456.           'huemap1', 'huemap2', ...  'huemap6', and correspond to the
  3457.           '1'-'6' radio buttons under the hue remapping dials.
  3458.  
  3459.           Each huemap resources takes six parameters:
  3460.  
  3461.           1. The 'starting' angle of the From range, in degrees
  3462.              (integer).
  3463.  
  3464.           2. The 'ending' angle of the From range, in degrees
  3465.              (integer).
  3466.  
  3467.           3. The direction of the From range.  Either 'cw' (clockwise)
  3468.              or 'ccw' (counter-clockwise).
  3469.  
  3470.           4. The 'starting' angle of the To range, in degrees
  3471.              (integer).
  3472.  
  3473.           5. The 'ending' angle of the To range, in degrees (integer).
  3474.  
  3475.           6. The direction of the To range.  Either 'cw' or 'ccw'.
  3476.  
  3477.  
  3478.         SSSSeeeeccccttttiiiioooonnnn 9999....9999....2222:::: WWWWhhhhttttmmmmaaaapppp RRRReeeessssoooouuuurrrrcccceeeessss
  3479.           The whtmap resource describes the state of the white
  3480.           remapping control.  There is one whtmap resource per state
  3481.           of the _x_v _c_o_l_o_r _e_d_i_t_o_r controls.  The whtmap resource takes
  3482.           three parameters:
  3483.  
  3484.           1. The hue to remap 'white' to, in degrees (integer).
  3485.  
  3486.           2. The saturation to give to the remapped 'white', in
  3487.              percent (integer).
  3488.  
  3489.           3. A boolean specifying whether the white remapping control
  3490.              is enabled.  If '1', the control is enabled.  If '0', the
  3491.              control is disabled.
  3492.  
  3493.  
  3494.  
  3495.      Page 53                                         (printed 3/16/94)
  3496.  
  3497.  
  3498.  
  3499.  
  3500.  
  3501.  
  3502.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  3503.  
  3504.  
  3505.  
  3506.         SSSSeeeeccccttttiiiioooonnnn 9999....9999....3333:::: SSSSaaaattttvvvvaaaallll RRRReeeessssoooouuuurrrrcccceeee
  3507.           The satval resource describes the value of the Saturation
  3508.           dial.  There is one satval resource per state.  The satval
  3509.           resource takes a single integer value, in the range +/-100,
  3510.           which specifies how much to add or subtract to overall image
  3511.           color saturation.
  3512.  
  3513.  
  3514.         SSSSeeeeccccttttiiiioooonnnn 9999....9999....4444:::: GGGGrrrraaaaffff RRRReeeessssoooouuuurrrrcccceeeessss
  3515.           The graf resources describe the state of the four 'graph'
  3516.           windows in the _x_v _c_o_l_o_r _e_d_i_t_o_r window (Intensity, Red,
  3517.           Green, and Blue).  The graf resources can be in one of two
  3518.           formats, 'gamma' and 'spline/line'.
  3519.  
  3520.           In 'gamma' format, the graf resource takes two parameters:
  3521.  
  3522.           1. The letter 'G', specifying 'gamma' mode
  3523.  
  3524.           2. A single floating point number specifying the gamma
  3525.              value.
  3526.  
  3527.  
  3528.           In 'spline/line' mode, the graf resource takes a variable
  3529.           number of parameters:
  3530.  
  3531.           1. The letter 'S' specifying 'spline' mode, or the letter
  3532.              'L' specifying 'line' mode.
  3533.  
  3534.           2. An integer number indicating the number of handles
  3535.              (control points) that this graph window will have.  (Must
  3536.              be in the range 2-16, inclusive.)
  3537.  
  3538.           3. For each handle, there will be a ':', and the x and y
  3539.              positions of the handle, separated by a comma.  The x and
  3540.              y positions can be in the range 0-255 inclusive.
  3541.  
  3542.  
  3543.         SSSSeeeeccccttttiiiioooonnnn 9999....9999....5555:::: OOOOtttthhhheeeerrrr RRRReeeessssoooouuuurrrrcccceeeessss
  3544.           Also, there are the boolean resources 'autoApply',
  3545.           'displayMods', and 'autoReset', which control the initial
  3546.           settings of the three checkboxes in the _x_v _c_o_l_o_r _e_d_i_t_o_r
  3547.           window.
  3548.  
  3549.           There are also boolean resources 'saveNormal', 'pspreview',
  3550.           and 'pscompress' which control the initial settings of the
  3551.           checkboxes in the _x_v _s_a_v_e and _x_v _p_o_s_t_s_c_r_i_p_t windows.
  3552.  
  3553.  
  3554.      LLLLIIIIMMMMIIIITTTTAAAATTTTIIIIOOOONNNNSSSS
  3555.           _x_v will NOT work on displays that aren't 1-, 2-, 4-, 6-, 8-,
  3556.           16- 24-, or 32-bits deep.  Luckily, that should still cover
  3557.           nearly every display out there.  It may not work on certain
  3558.  
  3559.  
  3560.  
  3561.      Page 54                                         (printed 3/16/94)
  3562.  
  3563.  
  3564.  
  3565.  
  3566.  
  3567.  
  3568.      xxxxvvvv((((llll))))               RRRReeeevvvv:::: 2222....11110000 ((((FFFFeeeebbbb 22226666,,,, 1111999999992222))))                xxxxvvvv((((llll))))
  3569.  
  3570.  
  3571.  
  3572.           6- or 24-bit displays.
  3573.  
  3574.           It also only displays the first image in GIF files that have
  3575.           multiple images in them.
  3576.  
  3577.           As for PM pictures, this program only displays 1-plane PM_I
  3578.           pictures, or 1-, 3-, or 4-plane PM_C pictures.
  3579.  
  3580.      PPPPMMMM FFFFOOOORRRRMMMMAAAATTTT
  3581.           The PM format is a file format that we use at the GRASP Lab
  3582.           for our image processing work.  If you aren't at Penn, you
  3583.           are unlikely to ever run into a PM-format file, so don't
  3584.           worry about it.  Please ignore all references to PM.
  3585.  
  3586.           The 4-, 6-, 16-, 24-, and 32-bit code has not been
  3587.           extensively tested.  (A 4-bit MicroVax GPX system, a 6-bit
  3588.           HP 9000/320, a 16-bit Sony 3710, and a 24-bit HP 9000/350,
  3589.           respectively.  The 32-bit code hasn't actually been tested
  3590.           at all.) You won't be able to do '----nnnnccccoooollllssss 0' on a 6-, 16-,
  3591.           24-, or 32-bit display, not that you should want to.
  3592.  
  3593.      AAAAUUUUTTTTHHHHOOOORRRRSSSS
  3594.           John Bradley  -  bradley@cis.upenn.edu
  3595.  
  3596.           GIF reading code based on gif2ras.c, by Patrick J. Naughton
  3597.           (naughton@wind.sun.com)
  3598.  
  3599.           GIF writing code essentially unchanged from code written by
  3600.           Michael Maudlin (mlm@cs.cmu.edu).
  3601.  
  3602.           SUN Rasterfile i/o code written by Dave Heath
  3603.           (heath@cs.jhu.edu)
  3604.  
  3605.           JPEG interface code written by Markus Baur
  3606.           (s_baur@iravcl.ira.uka.de)
  3607.  
  3608.           JPEG i/o code provided by the Independent JPEG Group.
  3609.  
  3610.           TIFF i/o code and interface code written by Sam Leffler
  3611.           (sam@sgi.com)
  3612.  
  3613.           Portions of 'ppmquant' snarfed for the '-best24' algorithm.
  3614.           _p_p_m_q_u_a_n_t (and the rest of the _p_b_m_p_l_u_s package) was written
  3615.           by Jef Poskanzer.  (jef@well.sf.ca.us)
  3616.  
  3617.           fsQuick code written and supplied by David B. Rosen
  3618.           (rosen@cns.bu.edu). This code is a very fast implementation
  3619.           of Floyd-Steinberg dithering for 1-bit b/w displays.
  3620.  
  3621.  
  3622.  
  3623.  
  3624.  
  3625.  
  3626.  
  3627.      Page 55                                         (printed 3/16/94)
  3628.  
  3629.  
  3630.  
  3631.